テンプレート演繹における部分順序付け手順
部分順序付け手順は、C テンプレート演繹における関数テンプレート間の特殊化関係を決定します。これには、テンプレートごとに変換された関数タイプを作成し、それらを比較に使用することが含まれます。
一致する引数とパラメータ:
一方のテンプレートの変換された関数タイプは、次の 2 つのケースを使用して、もう一方のテンプレートの元の関数テンプレートと照合されます:
例:
次の 2 つの関数テンプレートを考えてみましょう:
template<typename T, typename U> void foo(T, U); // original #1 template<typename T> void foo(T const*, X<T>); // original #2
変換後のマッチングタイプ:
結論: オーバーロード #2 は #1 よりも特殊化されています。
以上がC テンプレートの演繹は、部分順序付けを使用して特殊化をどのように決定しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。