Примечание: vector<int> vec = {0, 0, 0}
возвращает истину
Итак, у меня есть решение, оно выглядит так:
bool check(vector<char> vec)// can't think of a better name
{
char firstChar {vec[0]};
for (char i : vec)
{
if (i != firstChar)
return false;
}
return true;
}
Но так как я новичок, есть ли лучшее решение?
bool check(vector<char> vec)
вы выполняете копирование вектора. Лучше:bool check_constant (const vector<char> &vec)
. Вы также можете использоватьstd::string
вместоstd::vector
. - person Damien   schedule 21.10.2020vec
имеет хотя бы один элемент,std::count(vec.begin(), vec.end(), vec[0]) == vec.size()
сделает это. Проверка хотя бы одного элемента тривиальна. - person Peter   schedule 21.10.2020