Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Jun 6, 1997

Meaning of const as prefix and suffix of function

Question:
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
where:
 DateTime is the type of the function
        dataTime is the function name

Answer:
Consider:

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 been initialized. 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 of the 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.
}
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date