我正在进行我的学校项目,想知道是否可以通过替换以下内容使我的代码更加简洁:
switch (screen) {
case 0:
switch (language) {
case 0:
std::cout << "1 - Start new game" << std::endl;
std::cout << "2 - Load save" << std::endl;
std::cout << "2 - Hall of fame" << std::endl;
std::cout << "3 - Select language" << std::endl;
std::cout << "h - Help" << std::endl;
break;
case 1:
std::cout << "1 - Zacznij nową grę" << std::endl;
std::cout << "2 - Wczytaj grę" << std::endl;
std::cout << "2 - sala sławy" << std::endl;
std::cout << "3 - wybierz język" << std::endl;
std::cout << "h - pomoc" << std::endl;
break;
}
break;
}
通过类似于这样的方式:
switch (screen)(language) {
case 0 0:
std::cout << "1 - Start new game" << std::endl;
std::cout << "2 - Load save" << std::endl;
std::cout << "2 - Hall of fame" << std::endl;
std::cout << "3 - Select language" << std::endl;
std::cout << "h - Help" << std::endl;
break;
case 0 1:
std::cout << "1 - Zacznij nową grę" << std::endl;
std::cout << "2 - Wczytaj grę" << std::endl;
std::cout << "2 - sala sławy" << std::endl;
std::cout << "3 - wybierz język" << std::endl;
std::cout << "h - pomoc" << std::endl;
break;
}
在C ++中是否有像这样的结构?我尝试通过谷歌搜索,但无论措辞如何,都找不到任何相关内容。
&&
的if
语句。如果存在一系列允许的值,你可以尝试进行一些位移操作。但是这会使代码难以理解。 - ChrisMMunordered_map<pair<size_t,size_t>,callback_t>
,其中callback_t
可以是std::function<void(void)>
或类似的东西。 - Quimbyenglish_msgs[Msg::Main_menu]
。 - Quimbyinspect (screen, language) {when {0, 0}: /*..*/ when {1, 0} /*..*/}
这样的语法。 - Jarod42