如果我使用模板类创建 30 个不同的定义。我的问题是它会编译成 30 个二进制的实际类(二进制大小 = sizeof(template_class) x 30),尽管它们的实际代码非常相似甚至完全相同?
如果可以,并且在运行时,我的程序将加载到内存中。我遍历这 30 个实例(假设我为每个定义初始化了 1 个实例),是否会导致 cpu 指令缓存重新加载,因为它们实际上是内存中的 30 个副本,即使它们的大部分代码都是相同的?
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>;