我可以使用rvalue来存储中间结果

时间:2016-04-12 10:00:33

标签: c++ c++11 rvalue-reference rvalue

我在计算数组的表达式时发现它很慢。所以我想知道 我可以使用rvalue存储中间结果以减少alloc动作吗?

#include "SArray.hpp"

template <typename T>
SArray<T>&& operator* (SArray<T>&& s, const T& scale) {
    for (size_t i = 0; i < s.size(); ++i)
        s[i] *= scale;
    return std::move(s);
}

int main() {

    SArray<int> w = SArray<int>({1,2,3,4,5,6}) * 2;

    return 0;
}

0 个答案:

没有答案