Как это утверждение можно упростить?

Я изучаю c ++, и у меня был некоторый умеренный опыт работы с другими языками, и я передаю много знаний, но не все знания могут быть переданы.

Моя IDE сказала мне, что это утверждение можно упростить, но я не понимаю, как?

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

1

Решение

Ты можешь использовать std::tolower:

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

Это также, как вы должны получать информацию от пользователя, когда регистр не имеет значения, вместо случаев жесткого кодирования.

Примечание: теоретически вы должны убедиться, что answer[0] находится в допустимом диапазоне, иначе вы получите неопределенное поведение (для не-ASCII символов и других std::locale например). Ваш std::locale также имеет значение в теории, но это редко имеет место, если вы имеете дело только с символами ASCII.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]