1
私たちがC++でテンプレート関数を呼び出すと、その時点でコンパイラがどのような特別な作業をしているのか分かりません。そのために、私たちはそのテンプレートクラスを呼び出したクラスを認識してからそれに応じて解決します。C++では、コンパイラはどのようにしてテンプレートへの呼び出しを処理しますか?
私たちがC++でテンプレート関数を呼び出すと、その時点でコンパイラがどのような特別な作業をしているのか分かりません。そのために、私たちはそのテンプレートクラスを呼び出したクラスを認識してからそれに応じて解決します。C++では、コンパイラはどのようにしてテンプレートへの呼び出しを処理しますか?
答えはコンパイラの種類によって異なる場合があります。たとえば、gcc/clangには2フェーズルックアップと呼ばれるものがあります。しかし、この機能はVisual Studioでは実装されていません。 SO上のこの他のポストは良い説明を与える:
Two phase lookup - explanation needed
また、この記事を見てみましょう:
コンパイラは、通話中に解像度の決定をたくさん作ります。あなたが理解していないものは不明です。おそらく、具体的な例が整理されています。コールと関連するすべての宣言を表示します。 –
広すぎます。あなたは、仕様の主要部分がどのように実装されているかを尋ねています。コースを受講するか、本を読んでください。 – EJP