C++ C++;本地初始化?

C++ C++;本地初始化?,c++,C++,所以有一种叫做静态初始化和动态初始化的东西,显然它们并没有描述初始化的特定方式,而是在初始化的时候。静态和动态初始化只能用于指定非局部变量的初始化 那么局部变量呢?他们什么时候进行初始化?它叫什么?我找不到任何称为本地初始化的内容?我的意思是,当它们被初始化时,有一个名称不是很方便吗,因为value-/aggregate-/etc。初始化描述了初始化发生的情况,甚至可以与静态和动态初始化一起使用(据我所知),这让我更加困惑 希望这对您有点意义:)局部变量在构造时是初始化的。 当不需要名称时,只需

所以有一种叫做静态初始化和动态初始化的东西,显然它们并没有描述初始化的特定方式,而是在初始化的时候。静态和动态初始化只能用于指定非局部变量的初始化

那么局部变量呢?他们什么时候进行初始化?它叫什么?我找不到任何称为本地初始化的内容?我的意思是,当它们被初始化时,有一个名称不是很方便吗,因为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我已经检查过了,我在问这个问题之前已经检查过了。。。但我真的找不到答案,关于“这是因为通常称为“本地”或“堆栈”的存储被正式称为“自动”,我不是在问存储,而是在问初始化。另外,我也不明白为什么要比较存储和初始化。。。我的意思是,例如,动态初始化与动态存储持续时间无关。“当不需要名称时,只需要有趣的内容。”您在这里只讨论局部变量,对吗?答案的哪一部分(以及您的问题)表明我不确定?不确定。。这就是我问的原因,但我想那是肯定的无论如何,谢谢你的回答!这在标准中有规定吗?如果是的话,你能告诉我应该看哪里吗?“什么时候不需要名字,只需要有趣的东西。”你在这里只谈论局部变量,对吗?答案的哪一部分(以及你的问题)表明我不确定?不确定。。这就是我问的原因,但我想那是肯定的无论如何,谢谢你的回答!这在标准中有规定吗?如果是的话,你能告诉我应该去哪里看吗?