> I don't know why people use 'new' and 'delete' in all the examples ...
Why? Because the blog post is titled "Understanding C++ Ownership System".
Why? Because the blog post is titled "Understanding C++ Ownership System".
Maybe it works be better to start with "that's how we do it" and only afterwards following up with "and that's why".
{ // this scope is owner
// allocate
auto my_obj = MyObj{};
// this function scope does not have ownership of my_obj, should take (const MyObj& obj) const reference as parameter
do_something(my_obj);
} // memory is released