2016-02-27 114 views
0

我想寫一個程序,乘以兩個二維數組。這兩個數組都是模板類的實例(數組可以是int,float,double)。重載運算符*和=還是寫一個能夠乘數組的函數會更好?運算符重載的優點和缺點是什麼?超載會影響程序的性能嗎?運算符重載VS模板函數

回答

0

重載操作符沒有任何性能損失。它轉換爲常規函數調用。運算符重載的優點僅在於它使您的代碼更短。但是,在數組乘法的情況下,我建議使用一個正確命名的函數,因爲對於向量至少有兩種乘法語義 - 有元素乘法,並且存在點乘積又稱標量乘法。重載的操作符*會使含義變得模糊。