14 stream <<
"Default constructor called" <<
endl;
18 m_member{right_hand_side.m_member}
29 if(
this != std::addressof(right_hand_side))
31 this->m_member = right_hand_side.m_member;
38 : m_member{
std::move(right_hand_side.m_member) }
47 if(
this != std::addressof(right_hand_side))
49 this->m_member = std::move(right_hand_side.m_member);
70 std::vector<CopyOrMove> container(2);
72 for(
size_t i = 0; i < container.size(); ++i)
78 std::vector<CopyOrMove> container; container.reserve(2);
80 for(
size_t i = 0; i < container.capacity(); ++i)
81 container.emplace_back(
CopyOrMove{ (int)i } );
86 std::vector<CopyOrMove> container; container.reserve(2);
88 for(
size_t i = 0; i < container.capacity(); ++i)
89 container.emplace_back( (
int)i );
void better_but_not_perfect()
CopyOrMove make_copy_or_move(int n)
CopyOrMove(CopyOrMove &&right_hand_side)
CopyOrMove & operator=(CopyOrMove &&right_hand_side)
CopyOrMove & operator=(const CopyOrMove &right_hand_side)
CopyOrMove(const CopyOrMove &right_hand_side)
Stream output operators << are implemented.