Speculations on arenas and custom strings in C++| nullprogram.com
Each C++ expression (an operator with its operands, a literal, a variable name, etc.) is characterized by two independent properties: a type and a value category. Each expression has some non-reference type, and each expression belongs to exactly one of the three primary value categories: prvalue, xvalue, and lvalue.| en.cppreference.com
Attempts to allocate requested number of bytes, and the allocation request can fail (even if the requested number of bytes is zero). These allocation functions are called by new expressions to allocate memory in which new object would then be initialized. They may also be called using regular function call syntax.| en.cppreference.com
Initializes an aggregate from an initializer list. It is a form of list-initialization(since C++11).| en.cppreference.com
Order of evaluation of any part of any expression, including order of evaluation of function arguments is unspecified (with some exceptions listed below). The compiler can evaluate operands and other subexpressions in any order, and may choose another order when the same expression is evaluated again.| en.cppreference.com
Nuances of the implementation of std::shared_ptr, its drawbacks, and best practices| Thoughts of a Curious Software Engineer | Dmitry Danilov
In order to instantiate a class template, every template argument must be known, but not every template argument has to be specified. In the following contexts the compiler will deduce the template arguments from the type of the initializer:| en.cppreference.com
When certain criteria are met, the creation of a class object from a source object of the same type (ignoring cv-qualification) can be omitted, even if the selected constructor and/or the destructor for the object have side effects. This elision of object creation is called copy elision .| en.cppreference.com
I’ve been told I need to write this idea down – I figure this one’s a good enough excuse to start one of them programming blogs.| mcyoung.xyz