/
githubmirror
/
CPlusPlusThings
Обзор
Документация
Войти
/
githubmirror
/
CPlusPlusThings
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
learn_class/modern_cpp_30/obj/obj1.cpp
43 строки
720 B
zhangxing
support bazel complie this project and format code.
30 мар 2024, 17:00
30 мар 2024, 17:00
3c8a3f2
Код
Авторство
О чём код?
// // Created by light on 19-12-22. // // rvo example #include <iostream> 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_unnamed() { return A(); } int main() { // cout<<"构造"<<endl; // auto a = getA_unnamed(); cout << "赋值" << endl; A aa; aa = getA_unnamed(); // aa=std::move(getA_unnamed()); }