C++ Coding-Standard

This coding-standard is still work in development. It is however complete enough to give a first impression of what I expect from code that should become part of projects under my controll.

It is very important to understand that few things here are to be understood as absolute gospel. These are guidelines, not laws.

Naming Conventions

The naming-conventions here basically boil down to “Do as the standard-library does” and only deviates from that if there are very serious technical reasons or when it doesn't provide any guidence.

For libraries and modules of large projects, the following rules apply in addition:

The following names must never be used under any circumstances, since they are reserved for the implementation by the C++-standard:

(These rules shouldn't be necessary here, but they are violated extremely often, especially for include-guards, so let's repeat them!)

Style Conventions

General Conventions

Specific Issues

Ressource-Managment

Sequence-Containers

Heap-allocation

Constants

Functions

Classes

Macros

Algorithms

Streamoperations