Quotation marks after class name, but before open parentheses

I have a simple question that I cannot understand. I did not write this code. I know that tetromino_ and moveTime_ are instances of two different classes. My question is: why are they declared outside the brackets, but still in the class. Does this instance declaration method have a name?

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);
}

If my question was not clear what this is called

Game::Game() :
tetromino_{ static_cast <Tetromino::Type>(rand() % 7) },
moveTime_{ SDL_GetTicks() }
{
+4
source share
1 answer

This is just a constructor.

The constructor Game::Gamecreates two members of the class tetromino_and moveTime_. Brackets (not brackets) are equivalent initialization syntax , which is new to C ++ 11 / C ++ 14.

+3
source

All Articles