变量初始化意味着什么 我正在阅读C++标准,我遇到了(3.3.2/2):
在本例中,变量初始化意味着什么 我正在阅读C++标准,我遇到了(3.3.2/2):,c++,initialization,C++,Initialization,在本例中,x用它自己的(不确定)值初始化。在这种情况下,x是否已初始化 如果在VS中运行此代码并启用所有检查,则会出现运行时错误 运行时检查失败#3-正在使用变量“x”,但未初始化 初始化过程,(粗略地)为对象赋值。当您使用对象本身时,您正在使用未初始化的内存来初始化内存 关于初始化本身,我推荐第8.5章: 声明器可以为所声明的标识符指定初始值。标识符指定正在初始化的变量。8.5剩余部分中描述的初始化过程也适用于由其他语法上下文指定的初始化,例如使用参数表达式初始化函数参数(5.2.2)或初始化
x
用它自己的(不确定)值初始化。在这种情况下,x
是否已初始化 如果在VS中运行此代码并启用所有检查,则会出现运行时错误
运行时检查失败#3-正在使用变量“x”,但未初始化
初始化过程,(粗略地)为对象赋值。当您使用对象本身时,您正在使用未初始化的内存来初始化内存
关于初始化本身,我推荐第8.5章:
声明器可以为所声明的标识符指定初始值。标识符指定正在初始化的变量。8.5剩余部分中描述的初始化过程也适用于由其他语法上下文指定的初始化,例如使用参数表达式初始化函数参数(5.2.2)或初始化返回值。(……)
和12.6:
12.6初始化[class.init]
这仅仅是UB,在这里已经被问了一百万次了。这次结束投票在这里无关紧要。“一个无法再重现的问题或一个简单的印刷错误。”??@πνταῥεῖ 什么是UB?同样相关:详尽的答案!非常感谢@DmitryFucintv注意:我没有引用12.6.1和12.6.2的完整摘录,因为这需要几页。很高兴我帮了忙
int x=x;