假设我有两个类foo,bar它们相关性很好,我的意思是它们包含公共数据成员.
我operator bar() const;在foo课堂上有一个演员.
我也有一个功能func,需要一个bar.
如果我func使用匿名临时调用,则将调用foo强制转换运算符.但是,由于我不需要foo,我可以声明某种移动,以便明确地优化任何不必要的副本吗?
Rei*_*ica 12
如果编译器支持成员函数的ref-qualifiers(C++ 11特性),您可以:
operator bar() const &
{
return bar(the_common_data);
}
operator bar() &&
{
return bar(std::move(the_common_data));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
506 次 |
| 最近记录: |