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

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Intermediate
Jul 19, 2001

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


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