C++ C++;本地初始化?
所以有一种叫做静态初始化和动态初始化的东西,显然它们并没有描述初始化的特定方式,而是在初始化的时候。静态和动态初始化只能用于指定非局部变量的初始化 那么局部变量呢?他们什么时候进行初始化?它叫什么?我找不到任何称为本地初始化的内容?我的意思是,当它们被初始化时,有一个名称不是很方便吗,因为value-/aggregate-/etc。初始化描述了初始化发生的情况,甚至可以与静态和动态初始化一起使用(据我所知),这让我更加困惑C++ C++;本地初始化?,c++,C++,所以有一种叫做静态初始化和动态初始化的东西,显然它们并没有描述初始化的特定方式,而是在初始化的时候。静态和动态初始化只能用于指定非局部变量的初始化 那么局部变量呢?他们什么时候进行初始化?它叫什么?我找不到任何称为本地初始化的内容?我的意思是,当它们被初始化时,有一个名称不是很方便吗,因为value-/aggregate-/etc。初始化描述了初始化发生的情况,甚至可以与静态和动态初始化一起使用(据我所知),这让我更加困惑 希望这对您有点意义:)局部变量在构造时是初始化的。 当不需要名称时,只需
希望这对您有点意义:)局部变量在构造时是初始化的。
当不需要名称时,只需要有趣的内容。局部变量在构造时进行初始化。
当不需要名称时,只需要有趣的内容。当输入/重新输入范围时,局部变量被初始化。 对于局部变量初始化,C++中没有专门的术语。 考虑下面的例子
for (int i = 0; i < 5; ++i) {
int n = 0;
printf("%d ", ++n);
/* prints 1 1 1 - the previous value is lost
every time n is initialized with 0 when scope is entered
*/
}
for(int i=0;i<5;++i){
int n=0;
printf(“%d”,+n);
/*打印1-上一个值丢失
每次输入作用域时,n被初始化为0时
*/
}
局部变量在输入/重新输入范围时初始化。
对于局部变量初始化,C++中没有专门的术语。
考虑下面的例子
for (int i = 0; i < 5; ++i) {
int n = 0;
printf("%d ", ++n);
/* prints 1 1 1 - the previous value is lost
every time n is initialized with 0 when scope is entered
*/
}
for(int i=0;i<5;++i){
int n=0;
printf(“%d”,+n);
/*打印1-上一个值丢失
每次输入作用域时,n被初始化为0时
*/
}
简单逻辑是所有局部变量(静态或动态)在运行时仅被调用时启动
class Test
{
public :
Test(string text)
{
cout << (text) << endl;
}
};
void print()
{
Test t1("local");
static Test t2 ("local static");
}
int main(int argc, char* argv[]) {
cout << "begin" << endl;
print();
cout << "end" << endl;
}
简单的逻辑是所有局部变量(静态或动态)在运行时仅被调用时才被启动
class Test
{
public :
Test(string text)
{
cout << (text) << endl;
}
};
void print()
{
Test t1("local");
static Test t2 ("local static");
}
int main(int argc, char* argv[]) {
cout << "begin" << endl;
print();
cout << "end" << endl;
}
局部变量可以在一次“传递”中初始化,因为您不能向前声明局部变量。对于全局,它更复杂。@dasblinkenlight我已经检查过了,我在问这个问题之前已经检查过了。。。但我真的找不到答案,关于“这是因为通常称为“本地”或“堆栈”的存储被正式称为“自动”,我不是在问存储,而是在问初始化。另外,我也不明白为什么要比较存储和初始化。。。我的意思是,例如,动态初始化与动态存储持续时间无关。局部变量可以在一次“传递”中初始化,因为您不能向前声明局部变量。对于全局,它更复杂。@dasblinkenlight我已经检查过了,我在问这个问题之前已经检查过了。。。但我真的找不到答案,关于“这是因为通常称为“本地”或“堆栈”的存储被正式称为“自动”,我不是在问存储,而是在问初始化。另外,我也不明白为什么要比较存储和初始化。。。我的意思是,例如,动态初始化与动态存储持续时间无关。“当不需要名称时,只需要有趣的内容。”您在这里只讨论局部变量,对吗?答案的哪一部分(以及您的问题)表明我不确定?不确定。。这就是我问的原因,但我想那是肯定的无论如何,谢谢你的回答!这在标准中有规定吗?如果是的话,你能告诉我应该看哪里吗?“什么时候不需要名字,只需要有趣的东西。”你在这里只谈论局部变量,对吗?答案的哪一部分(以及你的问题)表明我不确定?不确定。。这就是我问的原因,但我想那是肯定的无论如何,谢谢你的回答!这在标准中有规定吗?如果是的话,你能告诉我应该去哪里看吗?