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

237
13 апреля 2017, 19:19

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

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

Если они просто так записаны, как отдельные переменные - толку особого не будет. Если же это, скажем, элементы в контейнере - то можно воспользоваться алгоритмом типа all_of - например, пусть у вас vector<int> v - то что-то типа (не компилирую, просто набросок)

if (all_of(v.begin(),v.end(),[&v](auto x){ return x == v[0]; }))

Ну, словом, где-то так.

Answer 2

Развивая ответ @Harry, можно предложить вариант для vector<int> v -

if(count(v.begin(),v.end(),v[0])==v.size()) {}
READ ALSO
Двойная итерация в одном цикле

Двойная итерация в одном цикле

Как сделать так, чтобы одновременно в одном цикле шли две итерации (например i и j)?

241
Ошибка Broken file, keyframe not correctly marked

Ошибка Broken file, keyframe not correctly marked

При открытии файлаogv выдает в дампе ошибку "[ogg @ 00f0c400] Broken file, keyframe not correctly marked

257
Наибольшее слово в файле

Наибольшее слово в файле

Нужно сделать проверку на максимальное количество символов, чтобы найти наибольшее слово в файле

247