Meaning of const as prefix and suffix of function

Meaning of const as prefix and suffix of function

What is the purpose of placing a const at the beginning and end of a function declaration with a de-reference to the function? Are there memory leak implications?

For example:

 const DateTime &dataTime() const
 DateTime is the type of the function        dataTime is the function name


int const i = 10; 
This declares i to have a type-constant integer, which means that the value of i cannot be modified once it has beeninitialized. Note that this is the same as saying:
const int i = 10;
The rule for this is: const modifies type of what is written before it, except when it is the first word in a declaration, in which case it always modifies the type declarator after it.

So, for uniformity, I like to write the former way.

When the const modifier is applied to a member function, the member function shall not change the state ofthe object it called for. For example:

class Foo {public:   int bar () const;private:   int i;};int Foo::bar () const{   i = 10; // not allowed; const method cannot change state.}


Share the Post: