[英]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.