【发布时间】:2013-01-23 22:20:39
【问题描述】:
我有简单的示例:
#include <iostream>
class parent {
public:
int i;
};
class child : public parent {
public:
int d;
};
int main() {
child c;
std::cout << c.d << std::endl;
return 0;
}
但是 c 中的所有整数(int d; 和 int i;)都没有初始化。
它有什么问题?或者我没有看到明显的东西?
【问题讨论】:
-
stackoverflow.com/questions/563221/… 查看第一个答案部分的默认构造函数和 POD 的注释
-
基本类型没有构造函数。见stackoverflow.com/a/5113385/1801919。
-
您提供的链接也适用于 Linux 编译器,而不是 VS2010
-
@LucasMarcondesPavelski 我认为从技术上讲该变量已初始化,但未初始化为零。
-
@juanchopanza :确实,虽然这里的正确术语是正确的术语是变量是 default-initialized 但不是 value-initialized。