テンプレート レッスン6
SFINAE
置換失敗はエラーではない(SFINAE)の原則と活用方法を学びます
SFINAEとは
SFINAE(Substitution Failure Is Not An Error)は、テンプレート引数の置換に失敗しても コンパイルエラーにせず、その候補をオーバーロード解決の対象から除外する仕組みです。std::enable_if と組み合わせることで、 型の特性に基づいてテンプレートの有効/無効を切り替えられます。C++20以降はコンセプトで代替可能です。
enable_ifによるSFINAE
C++エディタ
型特性とSFINAE
C++エディタ