」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何有效地將變量與C ++中的多個值進行比較?

如何有效地將變量與C ++中的多個值進行比較?

發佈於2025-03-13
瀏覽:367

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& v,std :: pritializer_list lst) { 返回std :: find(std :: begin(lst),std :: end(lst),v)! = std :: end(lst); }

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

在C 17

此模板函數使用完美的轉發來有效地評估每個比較,從而導致與手寫比較相當的代碼。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3