运算符重载VS模板函数

时间:2016-02-27 16:23:59

标签: c++ arrays templates operator-overloading theory

我想编写一个将两个2d数组相乘的程序。两个数组都是模板类的实例(数组可以是int,float,double)。是否更好地重载运算符*和=,或者编写一个会增加数组的函数?运算符重载有哪些优缺点?重载会影响程序的性能吗?

1 个答案:

答案 0 :(得分:0)

重载运算符没有任何性能损失。它转换为常规函数调用。运算符重载的优点仅在于它使您的代码更短。但是,在数组乘法的情况下,我建议使用一个正确命名的函数,因为向量至少有两种乘法语义 - 有元素乘法,并且有点积a.k.a.标量乘法。重载运算符*将使含义模糊不清。