如何简化这种说法?

时间:2017-07-21 06:11:00

标签: c++ if-statement simplify

我学习c ++,并且在其他语言方面有一些适度的经验,我正在转移大量的知识,但不是所有知识都可以转移。

我的IDE告诉我这个说法可以简化,但我不知道怎么做?

if (answer[0] == 'y'||answer[0] == 'Y')
{
    return true;
}

1 个答案:

答案 0 :(得分:3)

您可以使用std::tolower

if (std::tolower(answer[0]) == 'y')
    return true;

当案件无关紧要时,你应该如何从用户那里获得输入,而不是硬编码案例。

注意:理论上,您需要确保answer[0]处于有效范围内,否则您将获得未定义的行为(例如,对于非ASCII字符和另一个std::locale)。你的std::locale在理论上也很重要,但如果你只处理ASCII字符,情况就很少了。