标签:except primer 技术分享 opera move 类型 class nbsp logs
《C++ Primer》学习第13章中,关于移动操作:
1 #include <string> 2 3 class Foo { 4 public: 5 Foo(int a, int b, std::string c="") :x(a), y(b), s(new std::string(c)) {} 6 Foo(const Foo&) = default; 7 Foo& operator=(const Foo &) = default; 8 Foo(Foo&&) noexcept= default; 9 Foo& operator=(Foo &&) noexcept= default; 10 ~Foo() {} 11 12 int x = 42; 13 int y = 12; 14 std::string* s; 15 }; 16 int main() 17 { 18 Foo v(26, 12, "s"); 19 int *p = &(v.x); 20 int *p2 = &(v.y); 21 22 Foo v2(std::move(v)); 23 int *pp = &(v2.x); 24 int *pp2 = &(v2.y); 25 return 0; 26 }
运行结果如下:
有以下疑问:
标签:except primer 技术分享 opera move 类型 class nbsp logs
原文地址:http://www.cnblogs.com/why2CS/p/6883782.html