41 m_member{
std::make_unique<int>(value) } { }
47 return std::move(this->m_member);
59 return std::move(this->m_member);
67 return std::move(this->m_member);
79 return std::move(this->m_member);
87 std::unique_ptr<int> local_ptr = std::make_unique<int>(20);
91 return std::move(local_ptr);
100 auto local_ptr = std::make_unique<int>(10);
127 stream <<
"Afer calling dummy.return_as_rvalue_reference()" <<
endl;
131 stream <<
"dummy.m_member is still valid" <<
endl;
140 dummy.return_as_rvalue();
142 stream <<
"Afer calling dummy.return_as_rvalue()" <<
endl;
146 stream <<
"dummy.m_member is still valid" <<
endl;
163 stream <<
"dummy.m_member is still valid" <<
endl;
167 stream <<
"dummy.m_member is invalid" <<
endl;
171 std::unique_ptr<int> p2 = dummy.return_as_rvalue_reference();
175 stream <<
"dummy.m_member is still valid" <<
endl;
179 stream <<
"dummy.m_member is invalid" <<
endl;
void understand_uncaught_return_value()
void test_function_returning_an_rvalue_reference()
std::unique_ptr< int > return_local_unique_ptr_properly()
std::unique_ptr< int > && return_local_variable()
auto return_as_rvalue_with_auto()
std::unique_ptr< int > uptr_t
std::unique_ptr< int > && return_as_rvalue_reference()
auto && return_as_rvalue_reference_with_auto()
std::unique_ptr< int > return_as_rvalue()
Stream output operators << are implemented.