Здравствуйте, andyp, Вы писали:
A>Порадовало, что это компилятор до return 1 смог оптимизировать.
Вот так почестнее будет:
https://godbolt.org/z/irQRU9
int main() {
int x {};
std::cin >> x;
if( ranges::contains(std::array{1,2,3,4,5,6}, x) ) {
return 0;
}
return 1;
}
P.S. Ну и для сравнения:
https://godbolt.org/z/2nTHxD
template <typename T, typename...U>
bool in_list(T&& t, U&&...u) {
return ((t == u) || ...);
}
int main() {
int x {};
std::cin >> x;
if( in_list(x,1,2,3,4,5,6) ) {
return 0;
}
return 1;
}