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: Intermediate
Jul 19, 2001

Listing Members in an Initialization List


This tips explains how to list members in an initialization list in the order in which they are declared.

Take a class Array:
 
class Array {
private:
 int *m_piData; // ptr to actual array data
 unsigned m_uiSize;// # of elements in the array
public:
 Array (unsigned size);
};

Array::Array (unsigned size): m_uiSize(size), 		
m_piData(new
int[m_uiSize])
	    {}

The above code fragment does not reveal how much memory is held by the m_piData. This is because the class members are initialized in the order of their declaration in the class. The order in which they are listed in a member initialization list does not make any difference. In the Array class, m_piData will always be initialized first, followed by m_uiSize.

If the initialization of a data member needs the value of another data member, then it is safer to initialize them in the body of the constructor.
Nitin Garg
 
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