从 std::tuple 解压出来的值的返回值优化
是否有编译器能够对通过 std::tuple 从函数返回的多个值执行返回值优化?需要明确的是,在下面的代码中,是否有编译器能够避免不必要的复制?
std::vector<int> a;
std::list<float> b;
std::tie(a,b) = myFunctionThatReturnsAVectorAndList();
Are there any compilers capable of performing return value optimization on multiple values returned from a function through std::tuple? To be clear, in the following code, are there any compilers capable of avoiding unnecessary copies?
std::vector<int> a;
std::list<float> b;
std::tie(a,b) = myFunctionThatReturnsAVectorAndList();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已经不值得担心了。如果编译器无法执行 RVO,移动语义 将启动。
It's not worth worrying anymore. If the compiler cannot perform RVO, move semantics will kick in.