テンプレートクラスを使用して30の異なる定義を作成するとします。私の質問は、実際のコードは非常に似ているか、まったく同じですが、バイナリ(binary size = sizeof(template_class)x 30)で30の実際のクラスにコンパイルされるかどうかです。
もしそうなら、そして実行時に、私のプログラムはメモリにロードされます。これらの30個のインスタンスをループします(定義ごとに1個のインスタンスを初期化したと仮定します)。実際にはメモリ内に30個のコピーがあり、コードのほとんどが同じであるため、CPU命令キャッシュがリロードされますか?
template<typename msg_policy, int id>
class temp_class_test : public msg_policy
//codes, methods, and members
};
template class temp_class_test<A_policy,1>;
template class temp_class_test<B_policy, 2>;