C++ Musings
Returning by const reference for large objects is better than hoping for copy elision
If T is used over const T&, a copy has to be generated, even if the caller is only interested in a reference. If const T& is used and the caller only wants a reference, no copy is needed.
Defining textual constants as const char* or constexpr const char* is better than std::string
std::string does not store the text locally, but has to execute a new and delete at construction time, which const char* and constexpr const char* do not have to do.