This question already has answers here:
What is this weird colon-member (“ : ”) syntax in the constructor?

(12个答案)


4年前关闭。




我一直在翻阅SFML蓝图,开始在图形中弄湿我的脚。我在他们的游戏类构造函数中的其中一个代码示例中注意到:
Game::Game() : _window(sf::VideoMode(800,600), "SFML Title") {
     code code code...
}

_window(sf::VideoMode(800,600),“SFML标题”)放置在{}之前,而不是内部。这是不好的做法吗?这叫什么?我对C++还是陌生的,但是我还没有遇到过类似的东西。

最佳答案



不,这是个好习惯。如果成员是const限定类型或引用类型,则这是在构造函数中初始化该成员的唯一方法。



叫做member initializer lists

关于c++ - 在类构造函数中使用 “{}”在 “:”之前声明变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40478612/

10-11 01:50