Use const whenever possible
Things to Remember
- Declaring something const helps compilers detect usage errors, const can ve applied to objects at any scope, to function parameters and return types, and to member functions as a whole.
- Compilers enforce bitwise constness, but you should program using conceptual constness.
- When const and non-const member functions have essentially identical implementations, code duplication can be avoided by having the non-const version call the const version.
The const allows you to specify the semantic constraint that a particular object should not be modified.
char name[] = "Delta";
char *myName = name; // non-const pointer, non-const data
const char *myName = name; // non-const pointer, const data
char const *myName = name; // non-const pointer, const data
char * const myName = name; // const pointer, non-const data
const char * const myName = name; // const pointer, const data
If the word const apprears to the left of asterisk, what's pointed to is constant; if the word const appears to the right of the asterisk, the pointer itself is constant; if const appears on both sides, both are constant.