The semantics of std::make_unique

The whole point of std::make_unique is to encapsulate the notion of "use new to create a T from given constructor arguments and use delete to destroy it" [via @kerrek-sb]…

The semantics of `std::reference_wrapper`

It tells people who read the code that "whoever" has the variable, isn't actually controlling its lifespan. The user hasn't forgotten to delete or new anything, which some people may start to look for when they see pointer semantics. via @philluminati…