全局变量会被初始化为0,这是一直以来脑海中的概念。对于全局对象的理解就是,类有构造函数,在构造函数里可以初始化成员变量。我自己写程序也采用这个原则。
其实对于全局对象,对象的成员变量也被编译器初始化为0.
示例代码:
class A { public: int m_value; }; A g_a; void main() { int value1 = g_a.m_value; A b; int value2 = b.m_value; }
局部对象的成员变量未初始化。
全局变量会被初始化为0,这是一直以来脑海中的概念。对于全局对象的理解就是,类有构造函数,在构造函数里可以初始化成员变量。我自己写程序也采用这个原则。
其实对于全局对象,对象的成员变量也被编译器初始化为0.
示例代码:
class A { public: int m_value; }; A g_a; void main() { int value1 = g_a.m_value; A b; int value2 = b.m_value; }
局部对象的成员变量未初始化。