「if constexpr()」と「if()」の違い
C では、「if constexpr()」と「 if()" ステートメントは、それぞれコンパイル時と実行時に条件付き評価を提供します。
キー違い:
「if constexpr()」と「if()」の主な違いは、評価時間にあります:
使用法とアプリケーション:
if constexpr()
if( )
例:
長さを計算する次のコード スニペットを考えてみましょう。型に基づく値:
template<typename T> auto length(const T& value) noexcept { if constexpr (std::is_integral<T>::value) { return value; } else { return value.length(); } }
if constexpr を使用すると、コンパイラは他の型への分岐を排除でき、効率的なコード生成につながります。
以上が「if constexpr()」対「if()」: コンパイル時と実行時の条件評価?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。