Здравствуйте, rg45, Вы писали:
J>>
J>>if std::set({1,2,4,6,7}).count(x)
J>> std::cout << "x is either 1,2,4,6 or 7" << std::endl;
J>>
R>Поиск по списку с полным копированием списка? Причем с двойным копированием — сначала в initializer_list, затем в set — в случае если элементы списка заданы не prvalue выражениями. Ну, для простых типов, наверное, приемлемо.
Есть вариант без двойного копирования, но с бустом:
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;