Dav*_*ave 1 c++ compiler-construction optimization performance
在不讨论它是否是一个好主意的情况下,如果要将内置C++数据类型封装到它们自己的类中,那么将面临什么类型的缺点(性能或其他方面).例如,类似于Java和C#,int数据类型将拥有自己的类Int,使用内联运算符重载它.与Single,Double,Long等相同
没有任何好处.您无法实现相同的行为,也无法实现绩效.
缺点:
当您不希望在只有Integer或Real就足够的情况下使用多种类型重载Math类时,这可能很有用.
你的Java陷入了困境.
C++采用模板方法:
template<typename A_type, typename B_type>
auto math_operation(A_type a, B_type b) -> decltype(a + b * 2) {
return a + b * 2;
}
Run Code Online (Sandbox Code Playgroud)
现在您有一个适用于任何支持正确运算符的类型的函数.这适用于内置类型和类等Int128
.