Main menu:

Site search

Categories

février 2008
L M M J V S D
 123
45678910
11121314151617
18192021222324
2526272829  

Archive

C++ – .h ou pas de .h

Il y a quelques jours, un collègue me disait apprendre le C++. Pour cela, il avait acheté un livre dont le tout premier exemple de C++ commencait par:

#include <iostream.h>

Le .h n’est pas nécessaire et même proscrit car non-standard.

#include <iostream>

La librairie standard C++ et pas seulement la STL (Standard Template Library) est entièrement dans le namespace std et la façon ANSI d’inclure un fichier d’entête est de ne pas mettre .h. Néanmoins, le fichier avec le .h existe en général pour des raisons de compatibilité (backward compatibility). D’ailleurs, si vous regardez dans votre PC sous Ubuntu, vous trouverez deux fichiers iostream par exemple, un sans le .h et un avec:

$ slocate iostream
/usr/include/c++/4.1.3/iostream
/usr/include/c++/4.1.3/backward/iostream.h

Cette façon de faire est dépendante du vendeur de la librairie et n’est pas du tout obigatoire. Il pourrait très bien ne fournir que la version sans .h.