【问题标题】:operator overloading VS template function运算符重载VS模板函数
【发布时间】:2016-06-10 21:03:53
【问题描述】:

我想编写一个将两个二维数组相乘的程序。两个数组都是模板类的实例(数组可以是 int、float、double)。是重载运算符 * 和 = 更好,还是编写一个将数组相乘的函数?运算符重载的优缺点是什么?重载会影响程序的性能吗?

【问题讨论】:

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


    【解决方案1】:

    重载运算符没有任何性能损失。它转换为常规函数调用。运算符重载的优点只是它使您的代码更短。但是,在数组乘法的情况下,我建议使用正确命名的函数,因为向量至少有两种乘法语义——元素乘法和点积,也就是标量乘法。重载的 operator* 会使含义变得模糊。

    【讨论】:

      猜你喜欢
      • 2020-10-15
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      • 2022-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多