C++ 初始化和定义之间的关系
您能解释一下对象定义如何和变量初始化绑定,表示初始化吗C++ 初始化和定义之间的关系,c++,initialization,definition,C++,Initialization,Definition,您能解释一下对象定义如何和变量初始化绑定,表示初始化吗 #include <iostream> int a = 5; //definition int main{ std::cout << a; } #包括 INTA=5//定义 int main{std::cout来自§7/8: 定义会导致保留适当的存储量,并执行任何适当的初始化(8.5) 是的,定义会导致初始化 #include <iostream> int a = 5; //definition i
#include <iostream>
int a = 5; //definition
int main{ std::cout << a; }
#包括
INTA=5//定义
int main{std::cout来自§7/8:
定义会导致保留适当的存储量,并执行任何适当的初始化(8.5)
是的,定义会导致初始化
#include <iostream>
int a = 5; //definition
int main{ std::cout << a; }
但是,初始化(以及一般的对象创建)可以在没有定义的情况下进行,您的引用(§1.8/1)中省略的部分对此进行了描述:
通过定义(3.1)、新表达式(5.3.4)或
在需要时通过实施(12.2)
对象的生命周期在其初始化完成后开始。不初始化对象就无法定义对象。即使您说int a;
,您也可以定义并初始化a
,尽管这种特殊类型的初始化(称为“默认初始化”)不执行任何操作,使对象a
未初始化。感谢您提供规范性参考。