0
点赞
收藏
分享

微信扫一扫

[C++]结构体声明方式决定内容是否初始化

简单聊育儿 2022-03-10 阅读 29
typedef struct Test {
	int score;
	std::string name;
	std::vector<int> arr;
} Test;

typedef struct Test2 {
	Test2();
	int score;
	std::string name;
	std::vector<int> arr;
} Test;

int main()
{
	Test t;		// 成员不会初始化, 初值是内存残留值
	Test* tp1 = new Test;   // 成员不会初始化, 初值是内存残留值
	Test* tp2 = new Test(); // 调用了默认构造函数, 成员被初始化
	
	Test2 t2;   // 调用了默认构造函数, 成员被初始化
	Test2 t2p = new Test2;    // 调用了默认构造函数, 成员被初始化
	Test2* t2p2 = new Test2(); // 调用了默认构造函数, 成员被初始化
	return 0;
}
举报

相关推荐

0 条评论