ホームページ > バックエンド開発 > C++ > C はテンプレート演繹における部分的な順序をどのように決定しますか?

C はテンプレート演繹における部分的な順序をどのように決定しますか?

DDD
リリース: 2024-12-01 03:38:09
オリジナル
523 人が閲覧しました

How Does C   Determine Partial Ordering in Template Deduction?

テンプレート推論における部分順序付け手順

型推論のためのテンプレートの部分順序付けを決定するとき、C 標準では、 変換された関数の型の比較。関連するテンプレートごとに、各テンプレート パラメーターを一意の架空の型に置き換えることによって、元の関数型が変換されます。この変換された関数タイプは推論プロセスの引数テンプレートとして使用され、他のテンプレートの元の関数タイプはパラメータ テンプレートとして機能します。

この比較は両方向で実行されます:

  • 最初のテンプレートの変換された型を引数テンプレートとして使用し、2 番目のテンプレートの元の型をパラメータ テンプレートとして使用します。
  • 2 番目の変換された型を使用するtemplate を引数テンプレートとして使用し、最初のテンプレートの元の型をパラメータ テンプレートとして使用します。

一方向では一致が確立できるが、もう一方の方向では一致が確立できない場合、1 つのテンプレートがより特殊化されていると判断されます。他よりも。それ以外の場合、どちらのテンプレートもより特殊化されているとは見なされません。

この手順は、複数のテンプレートが同様に適用できるように見える場合の、テンプレート推定における曖昧さを解決するのに役立ちます。変換された型を比較す​​ることにより、コンパイラは、渡される特定の引数にどのテンプレートをより正確に一致させることができるかを判断できます。

以上がC はテンプレート演繹における部分的な順序をどのように決定しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート