首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >std::move表示“就地操作”

std::move表示“就地操作”
EN

Stack Overflow用户
提问于 2017-06-16 00:51:55
回答 0查看 138关注 0票数 0

这可能与其他问题非常相似;我环顾了一下,但我不知道我在说什么,以至于无法确定。

我正在编写一个“应该”就地的函数,但它是通过BLAS调用实现的。BLAS呼叫不在适当的位置,所以我需要进行临时呼叫。因此:

代码语言:javascript
复制
void InPlace(ArrayClass& U, const TransformMatrix* M){
    ArrayClass U_temp; 
    CallBLASdgemm(U, M, U_temp);   //Now U_temp contains the correct output.
    U = std::move(U_temp);
}

这是对std::move的有效使用吗,或者我不知何故破坏了“复制省略”(或者由于其他原因它是不好的)?

编辑:请求了CallBLASDgemm的签名;它是

代码语言:javascript
复制
CallBLASdgemm(const ArrayClass& U, const TransformMatrix* M, 
              ArrayClass& V);
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44572903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档