私が理解していることから、たとえば、とがあればstd::vector<int>
、std::vector<float>
コンパイラはタイプごとに1つずつ、2つのクラスを作成します。したがって、記述されるコードの量は減りますが、実行可能ファイルのサイズは減りません(間違っている場合は訂正してください)。
タイプがポインタであっても同じですか?たとえば、とをインスタンス化するstd::vector<SomeClass*>
と、std::vector<SomeOtherClass*>
必然的にコンパイラは2つのインスタンス化のそれぞれに対して個別のコードを生成しますか?