Just read What is the usefulness of `enable_shared_from_this`?, still don't understand why it's useful.
Like said in the 2nd top answer:
When you do this, keep in mind that the object you call shared_from_this on must be owned by a shared_ptr object. ...
My question: since we already have a shared_ptr object, why still need shared_from_this instead of a simple copy or assignment?
Update: thanks to Kerrek SB and Igor Tandetnik, I think I understand now, also, in Weak Pointers referenced in What is the usefulness of `enable_shared_from_this`? there is already a example:
Sometimes member functions return a pointer or reference to the object that they were applied to, to support chaining of operations.