クラスメンバー関数テンプレートは仮想化できますか? 質問する

クラスメンバー関数テンプレートは仮想化できますか? 質問する

C++ クラス メンバー関数テンプレートは仮想化できないと聞きました。これは本当ですか?

仮想化できる場合、そのような機能を使用するシナリオの例は何ですか?

ベストアンサー1

テンプレートは、コンパイル時にコンパイラがコードを生成するためのものです。仮想関数は、実行時にどの関数を呼び出すかを実行するランタイム システムが決定するためのものです。

ランタイム システムがテンプレート化された仮想関数を呼び出す必要があると判断すると、コンパイルはすべて完了し、コンパイラは適切なインスタンスを生成できなくなります。したがって、仮想メンバー関数テンプレートは使用できません。

しかし、ポリモーフィズムとテンプレートを組み合わせることで、いくつかの強力で興味深いテクニックが生まれます。特に、型消去

おすすめ記事