Other Coding Rules

Namespaces
We prefer fully qualified names (e.g. std::cout).

Using directives (e.g. "using namespace std") are not welcome. Using directives in headers will result in the code being rejected.

Using declarations (e.g. "using std::cout") are tolerated, but should be used only in the innermost possible scope (i.e. usually function scope). Fully qualified names are still preferred.

Other Pieces of Advice

 * Prefer C++ means over C means.
 * Prefer STL-container over raw arrays and new[]/delete[].
 * Use new/delete only when necessary. Prefer automatic storage duration.
 * Throw exceptions instead of retuning error codes.
 * When returning a pointer, don't return a 0-pointer in case of an error (returning a 0-pointer is still valid, if it does not represent an error situation).
 * Don't use C++0x features (until we made sure everyone's compiler supports these)
 * Remember the Rule of Three.