Страницы

Поиск по вопросам

пятница, 21 февраля 2020 г.

Сравнение множества значений

#cpp #c


Как коротко сравнить много значений на равенство? Надо такое поведение:

type value_1, value_2, value_3, ...
if (value_1 == value_2 && value_2 == value_3 && value_3 == ...)

    


Ответы

Ответ 1



Если они просто так записаны, как отдельные переменные - толку особого не будет. Если же это, скажем, элементы в контейнере - то можно воспользоваться алгоритмом типа all_of - например, пусть у вас vector v - то что-то типа (не компилирую, просто набросок) if (all_of(v.begin(),v.end(),[&v](auto x){ return x == v[0]; })) Ну, словом, где-то так.

Ответ 2



Развивая ответ @Harry, можно предложить вариант для vector v - if(count(v.begin(),v.end(),v[0])==v.size()) {}

Комментариев нет:

Отправить комментарий