3

c++でジェネリック型をインスタンス化するにはどうすればよいですか?

List<X>where Xis オブジェクトを作成したい場合。どうやってやるの?

4

2 に答える 2

4

リストをインスタンス化するだけです。ジェネリックスはコンパイラーによって消去されるため、これは実行時のリストと完全に同等です。

于 2013-01-17T07:23:20.297 に答える
1

Java で実行時にジェネリック型をインスタンス化できないことを考えると、C++ でそれを行うことはできないと確信しています。

ジェネリックはコンパイル時の機能です。作成したものをコンパイラに渡したくない場合、たとえばプレーンな Java コードをテキストで渡したい場合を除き、ジェネリックは役に立たないでしょう。(もしあなたがこれをやりたいのなら、C++ は最良の選択ではないと思います)

Xがオブジェクトであるリストを作成したい場合

Java では、オブジェクトへの参照Xの一種です。すべてのリストのコードは参照のみを保持するため、コードは同じであり、C++ のようにテンプレート化されていません。これは、プリミティブ、構造体、またはオブジェクトを使用できず、参照のみを使用できることを意味します。

于 2013-01-16T13:45:58.823 に答える