struct Person {
int m_age;
}
// 自己没有写构造函数的初始化情况:
// 全局区
Person g_person;
int main(){
// 栈空间
Person person;// 栈空间的成员变量没有进行初始化
// 堆空间
Person *p1 = new Person; // 成员变量没有初始化
Person *p2 = new Person(10);// 成员变量有初始化
cout << "g_person" << g_person << endl;// 全局区成员变量初始化为0
cout << "person" << person.m_age << endl;//
cout << "p1" << p1->m_age << endl;
cout << "p2" << p2->m_age << endl;
//自己写了构造函数后栈空间,栈空间,堆空间默认都没有初始化成员变量,全局区默认都会初始化成员变量
getchar();
return 0;
}
C++,默认情况下,成员变量的初始化
最新推荐文章于 2024-02-18 16:45:56 发布