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
Language: C++
Expertise: Intermediate
Jul 23, 1999

Forward-Declaring I/O Classes and Templates

The standard header <iosfwd> contains forward-declarations of the I/O classes and templates. This header is sufficient to refer to any of the I/O classes and templates but not to apply operation to them. For example:

 
#include 
using namespace std;

class C{
public:
  friend ostream& operator<<(ostream& os, const C& d); 
};

ostream& operator<<(ostream& os, const C& d);

The declaration of the friend function does not need a complete definition of the ostream class; a forward declaration is sufficient in this case. Therefore, <iosfwd> is #included instead of the full-blown <iostream>, which significantly reduces compilation time.

Danny Kalev
 
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