// // Created by light on 19-12-22. // #include using namespace std; // Can copy and move class A { public: A() { cout << "Create A\n"; } ~A() { cout << "Destroy A\n"; } A(const A &) { cout << "Copy A\n"; } A(A &&) { cout << "Move A\n"; } A &operator=(const A &a) { std::cout << "copy assignment" << std::endl; return *this; } A &operator=(A &&a) { cout << "move assignment\n"; return *this; } }; // 编译器无法优化 A getA_duang() { A a1; A a2; if (rand() > 42) { return a1; } else { return a2; } } int main() { // cout<<"拷贝"<