gpt4 book ai didi

c++ - 是否可以在 C++ 的成员初始化列表中初始化数组?

转载 作者:搜寻专家 更新时间:2023-10-31 00:31:29 24 4
gpt4 key购买 nike

所以,我有这个 Game 类,并且我有一个 SDL_Rect 数组。如果可能的话,我想在成员初始化列表中初始化它,而不是在构造函数体内初始化数组。

//Game.h
#pragma once

class Game {
public:
Game(SDL_Window* window, SDL_Renderer* renderer);

private:
SDL_Rect down[4];
};

// Game.cpp
#include "Game.h"

Game::Game(SDL_Window* window, SDL_Renderer* renderer){
down[0] = {1,4,31,48};
down[1] = {35,5,25,47};
down[2] = {65,4,31,48};
down[3] = {100,5,26,47};
}

我想做这样的事情:

// Game.cpp
Game::Game()
: down[0]({1,4,31,48};
// etc, etc...
{}

最佳答案

你可以使用 direct-list-initialization (自 c++11 起) 用于成员变量。 (不是数组的每个元素。)

Game::Game()
: down {{1,4,31,48}, {35,5,25,47}, {65,4,31,48}, {100,5,26,47}}
{}

LIVE

关于c++ - 是否可以在 C++ 的成员初始化列表中初始化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33991363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com