Can*_*hiu 7 c++ move-semantics c++11
可移动转换运算符的语法是什么?
我有一个包装的包装器obj,它有一个obj转换运算符:
class wrap {
public:
operator obj() { ... }
private:
obj data_;
};
Run Code Online (Sandbox Code Playgroud)
如何确定是否data_应复制或移动?
Nic*_*las 10
该语法将是这样的:
class wrap {
public:
operator obj() const & { ... } //Copy from me.
operator obj() && { ... } //Move from me.
private:
obj data_;
};
Run Code Online (Sandbox Code Playgroud)
当第二个版本无法调用时将调用第一个版本(即:wrap转换的实例不是临时版本或没有明确使用std::move).
请注意,Visual Studio不实现r值引用的这个方面.
| 归档时间: |
|
| 查看次数: |
1081 次 |
| 最近记录: |