«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу эффективно сравнить переменную с несколькими значениями в C ++?

Как я могу эффективно сравнить переменную с несколькими значениями в C ++?

Опубликовано в 2025-03-13
Просматривать:654

How Can I Efficiently Compare a Variable Against Multiple Values in C  ?

, сравнивая переменную с несколькими значениями эффективно

Часто в программировании необходимо проверять, соответствует ли переменная одна из нескольких параметров. Это может быть достигнуто с помощью различных методов, но важно определить эффективность. Например:

if (num == (1 || 2 || 3)) ] Этот подход оценивает каждое логическое выражение (1 || 2, 2 || 3) отдельно, что может привести к потраченной впустую обработке. Использование std :: initializer_list. Следующая функция шаблона принимает переменную и список инициализаторов потенциальных совпадений:

Template bool is_in (const t & amp; v, std :: initializer_list lst) { вернуть std :: find (std :: begin (lst), std :: end (lst), v)! = std :: end (lst); }

if (num == (1 || 2 || 3))

if (is_in (num, {1, 2, 3})) {do Stuff}

более эффективное решение в C 17

Template bool is_in (First & amp; & amp; во -первых, t & amp; & amp; ... t) { return ((первое == t) || ...); }

Эта функция шаблона использует идеальную пересылку, чтобы эффективно оценить каждое сравнение, что приводит к коду, который работает наравне с рукописными сравнениями.
            
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3