我几周前就开始学习C ++了。我现在看到类和所有的东西,我想知道对象实例化。在这段代码中:
class Player
{
public:
int x, y;
int speed;
};
int main ()
{
Player player {};
return 0;
}
如果我没有在Player player {}
中添加大括号,我会收到来自IDE的警告。我使用Clion 2017.2.3。警告说:"未初始化的记录类型:播放器"似乎来自 Clang-Tidy ,虽然我不确定它到底是做什么的。
那么,这很重要吗?我是否必须在对象实例化中添加大括号?
请原谅我的错误,英语不是我的母语。
答案 0 :(得分:2)
如果您没有提供初始化列表,则不会初始化该对象(因为您没有默认构造函数),因此成员具有不确定的值。使用初始化列表可确保所有成员都获得默认初始化。
此警告提醒您可能有未初始化的成员变量。
有关此检查来自clang-tidy的详细信息,请参阅here。