Obtaining a std::shared_ptr from this pointer

std::enable_shared_from_this enables you to get a valid std::shared_ptr instance to this, when all you have is this. Without it, you would have no way of getting a std::shared_ptr to this, unless you had already one as a member. class Y: public std:…

Pass-by-* in C++11

Great article on how to achieve efficient argument passing in C++11. We really need something like smart references in the standard.…

Algorithms and value semantics

A nice consideration on value semantics and STL/boost algorithms: In generic implementations of algorithms it is preferred to use value semantics: copying an object causes two identical objects to exist which are independent. This is crucial property when it is necessary to duplicate objects. Dynamic polymorphism doesn't immediately work…