[英]C++ - static objects/variables used across a project vs. using pointer/reference arguments
我正在用C ++和SDL编写一个简单的内存游戏(带有翻转卡片的游戏),但发现很难决定是否要使用这样的类:
class Game {
public:
static StartMenu* sMenu;
static OptionsMenu* oMenu;
static GameBoard* board;
static Card cards[36];
}
然后这样称呼他们
Game::menu->selectedItem = 1;
还是我应该只构建项目,以便在某个地方实例化对象,然后将它们作为指针/引用传递给函数(我将在以后弄清楚应该使用哪些对象)? 像这样
void processInput(SDL_Event event, StartMenu*&*& menu) {
...
menu->selectedItem = 1;
...
}
还是只是偏爱问题? 后者似乎“更干净”,但前者更灵活...
我建议使用:
class Game {
public:
StartMenu* sMenu;
OptionsMenu* oMenu;
GameBoard* board;
Card cards[36];
};
创建一个Game
实例并将其传递。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.