Re[4]: ranges ?
От: rg45 СССР  
Дата: 21.02.20 09:55
Оценка:
Здравствуйте, 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;
}
--
Отредактировано 21.02.2020 10:07 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.