我学习c ++,并且在其他语言方面有一些适度的经验,我正在转移大量的知识,但不是所有知识都可以转移。
我的IDE告诉我这个说法可以简化,但我不知道怎么做?
if (answer[0] == 'y'||answer[0] == 'Y')
{
return true;
}
答案 0 :(得分:3)
您可以使用std::tolower
:
if (std::tolower(answer[0]) == 'y')
return true;
当案件无关紧要时,你应该如何从用户那里获得输入,而不是硬编码案例。
注意:理论上,您需要确保answer[0]
处于有效范围内,否则您将获得未定义的行为(例如,对于非ASCII字符和另一个std::locale
)。你的std::locale
在理论上也很重要,但如果你只处理ASCII字符,情况就很少了。