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