Resource management
R.23
Use `make_unique()` to make `unique_ptr`s
Reason
make_unique gives a more concise statement of the construction. It also ensures exception safety in complex expressions (in pre-C++17 code).
Example
unique_ptr<Foo> p {new Foo{7}}; // OK: but repetitive
auto q = make_unique<Foo>(7); // Better: no repetition of Foo
Enforcement
(Simple) Warn if a unique_ptr is constructed from the result of new rather than make_unique.