在开括号之前,类名后面的引号

4

我有一个简单的问题,但是我无法解决。我没有写这段代码。我知道tetromino_和moveTime_是两个不同类的实例。我的问题是为什么它们在括号外部声明但仍然在类内部。这种实例声明方法有一个名称吗?

Game::Game() :
tetromino_{ static_cast <Tetromino::Type>(rand() % 7) },
moveTime_{ SDL_GetTicks() }
{
    //srand(time(NULL));
    //initialize SDL and if it fails, present an error
    if (SDL_Init(SDL_INIT_VIDEO) != 0){
        throw std::runtime_error("_Init(SDL_INIT_VIDEO)");
    }
    //width of thhe window is 650/2 and the  height is 650
    SDL_CreateWindowAndRenderer(650 / 2, 650, SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS, &window_, &renderer_);
    //set the window position
    SDL_SetWindowPosition(window_, 365, 1);
}

如果我的问题不够清晰,这应该怎么称呼?
Game::Game() :
tetromino_{ static_cast <Tetromino::Type>(rand() % 7) },
moveTime_{ SDL_GetTicks() }
{

1
那不是一个类定义,而是构造函数。它正在构造成员变量。 - Raymond Chen
1个回答

4

这只是一个构造函数。

Game::Game 构造函数正在构造类的两个成员 tetromino_moveTime_。括号(不是方括号)是 C++11/C++14 中新引入的统一初始化语法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接