class A
{
private:
int *p;
string s;
A(const A && _a) : p(std::move(_a.p)), s(std::move(_a.s))
{
_a.p = nullptr;
}
}
std::move是获取右值引用。
s(std::move(_a.s))是调用了string的移动构造函数。
p是指针类型,实际上直接用p(_a.p)也行。
class A
{
private:
int *p;
string s;
A(const A && _a) : p(std::move(_a.p)), s(std::move(_a.s))
{
_a.p = nullptr;
}
}
std::move是获取右值引用。
s(std::move(_a.s))是调用了string的移动构造函数。
p是指针类型,实际上直接用p(_a.p)也行。