Я изучаю c ++, и у меня был некоторый умеренный опыт работы с другими языками, и я передаю много знаний, но не все знания могут быть переданы.
Моя IDE сказала мне, что это утверждение можно упростить, но я не понимаю, как?
if (answer[0] == 'y'||answer[0] == 'Y')
{
return true;
}
Ты можешь использовать std::tolower
:
if (std::tolower(answer[0]) == 'y')
return true;
Это также, как вы должны получать информацию от пользователя, когда регистр не имеет значения, вместо случаев жесткого кодирования.
Примечание: теоретически вы должны убедиться, что answer[0]
находится в допустимом диапазоне, иначе вы получите неопределенное поведение (для не-ASCII символов и других std::locale
например). Ваш std::locale
также имеет значение в теории, но это редко имеет место, если вы имеете дело только с символами ASCII.
Других решений пока нет …