10

几周前我开始学习 C++。我现在看到类和所有东西,我想知道对象实例化。在这段代码中:

class Player
{
    public:
        int x, y;
        int speed;
};

int main ()
{
    Player player {};

    return 0;
}

如果我不将大括号放入Player player {}. 我使用 Clion 2017.2.3。警告说:“未初始化的记录类型:播放器”并且似乎来自Clang-Tidy,但我不确定它的真正作用。

那么,这很重要吗?我是否必须在对象实例化中放置大括号?

请原谅我的错误,英语不是我的母语。

4

1 回答 1

10

如果您不提供初始化列表,则不会初始化对象(因为您没有默认构造函数),因此成员具有不确定的值。使用初始化列表可确保所有成员都获得默认初始化。

此警告提醒您注意您可能有未初始化的成员变量。

有关来自 clang-tidy 的此检查的更多详细信息,请参见此处。

于 2017-11-02T00:59:49.023 回答