带有预分配结果C ++的重载加运算符

时间:2018-05-21 19:21:01

标签: c++ c++11

我正在尝试创建一个矩阵类,其中重载加运算符的输出是一个新矩阵,其中包含传入的两个矩阵的总和。但是,我想预先分配结果以便改善时间这个运营商的效率。到目前为止,我搜索到的所有地方都显示重载的运算符+实例化一个按值返回的新对象,然后将其复制到分配给它的任何变量。反正有没有避免这个?

1 个答案:

答案 0 :(得分:0)

现代c ++编译器将省略返回值的副本,如果他们不这样做,那么你只需要确保你的类是可移动的,这样也可以避免它们复制。

将代码放入http://godbolt.org以查看生成的程序集。