// application int main() { using std::cout; { Useless one(10, 'x'); Useless two = one +one; // calls move constructor cout << "object one: "; one.ShowData(); cout << "object two: "; two.ShowData(); Useless three, four; cout << "three = one\n"; three = one; // automatic copy assignment cout << "now object three = "; three.ShowData(); cout << "and object one = "; one.ShowData(); cout << "four = one + two\n"; four = one + two; // automatic move assignment cout << "now object four = "; four.ShowData(); cout << "four = move(one)\n"; four = std::move(one); // forced move assignment cout << "now object four = "; four.ShowData(); cout << "and object one = "; one.ShowData(); } std::cin.get(); }
// application int main() { { Useless one(10, 'x'); Useless two = one; // calls copy constructor cout << "object one: "; one.ShowData(); cout << "object two: "; two.ShowData(); Useless three = move(one); cout << "object three: "; three.ShowData(); } cin.get(); }
// aplikacja int main() { { Useless one(10, 'x'); Useless two = one; Useless three(20, 'o'); Useless four (one + three); cout << "obiekt 1.: "; one.ShowData(); cout << "obiekt 2.: "; two.ShowData(); cout << "obiekt 3.: "; three.ShowData(); cout << "obiekt 4.: "; four.ShowData(); } }
// application int main() { { Useless one(10, 'x'); Useless two = one; // calls copy constructor Useless three(20, 'o'); Useless four(one + three); // calls operator+(), move constructor cout << "object one: "; one.ShowData(); cout << "object two: "; two.ShowData(); cout << "object three: "; three.ShowData(); cout << "object four: "; four.ShowData(); } // cin.get(); }
int main() { using std::cout; { Useless one(10, 'x'); Useless two = one; Useless three(20, 'o'); Useless four (one + three); cout << "object one: "; one.ShowData(); cout << "object two: "; two.ShowData(); cout << "object three: "; three.ShowData(); cout << "object four: "; four.ShowData(); } return 0; }