Other Coding Rules
We prefer fully qualified names (e.g. std::cout).
Using directives (e.g. using namesapce 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.