Здравствуйте, Аноним, Вы писали:
А>Есть вариант без двойного копирования, но с бустом:
А>А>if (boost::algorithm::any_of_equal(std::initializer_list<int>{1,2,4,6,7}, x))
А> std::cout << "x is either 1,2,4,6 or 7" << std::endl;
А>
Заменяем "{1,2,3,4,6,7}" на "{a,b,c,d,e}" и все равно получаем копирование.
Да и назвать такое выражение "синтаксическическим сахаром" как-то язык не поворачивается. Лично мне больше по душе "in_list(x, a, b, c, d, e)".