我有一个类模板,它通过将属性作为参数分配给模板来生成一个唯一的类。IE:
template <size_t arg> property;
template <typename... properties> class object;
object<property<value> > obj;
我要避免的是编译器根据不同的属性排列生成多余的代码,例如:
object<property<value1>, property<value2> > obj;
共享相同的功能表:
object<property<value2>, property<value1> > obj;
编译器是否通常有一些措施来防止这样的重复,或者我是否必须以强制编译器使两个对象共享代码的方式进行编程?