...
- Separate inline headers: We allow putting inline functions in separate files, using the suffix
.inline.h
. This can speed up compile times by reducing the volume of code to be compiled and reducing dependencies between headers. - Header include guards: for new code, we prefer #pragma once because it is cleaner than the classic #include guards
Scoping
- namespaces the
using namespace
directive is allowed in .cc files in limited cases where it greatly reduces code volume.- Pros: reduces code volume, less churn in "using namespace::class" directives.
- Cons: pollutes the namespace, causes conflicts, makes it more difficult to determine the type of an object
...