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: All
Jun 17, 1998

Standard Headers' Names

All Standard C++ header files must be included in the following way:
 
#include <iostream> //note: no ".h" extension
#include<vector>
//...other #include statements
That is, the ".h" extension should not be used. This technique applies to a subset of standard C header files as well, with the addition of the letter 'c' affixed to their name. So a C standard header formerly named <xxx.h> is now <cxxx>. For example:
 
#include <cassert> //formerly: <assert.h>  mind the prefix 'c' and the omission of  ".h"
The older convention for C headers, <xxx.h>, is still supported but is now considered deprecated and should not be used. The problem is that C <xxx.h> headers would inject their declarations into the global namespace. In C++ most standard declarations are grouped under namespace std and so are the <cxxx.h> Standard C headers. This eliminates the name conflict problem which can occur when global declarations are used. Keep in mind that you need to use a using declaration or a using directive in order to access the declarations in the standard headers:
 
#include <cstdio> 
using namespace std; //this is a using directive

void f()
{
	printf ("Hello World\n");
}
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