43 votes

Dans les bibliothèques C++ Boost, pourquoi y a-t-il une extension ".ipp" sur certains fichiers d'en-tête ?

Dans les bibliothèques C++ Boost, pourquoi y a-t-il une extension ".ipp" sur certains fichiers d'en-tête ?

Il semble qu'il s'agisse de fichiers d'en-tête inclus dans le fichier ".hpp" du même nom.

Cette convention est-elle courante en dehors de Boost ?

Qu'est-ce qui justifie l'existence d'un type de fichier particulier ?

48voto

Anonymous Points 11017

Explication de l'un des gourous du modèle :

Si vous voulez vous séparer, vous implémentation (il y a beaucoup de bonnes raisons de le faire, y compris le contrôle de l'instanciation), vous ne pouvez pas très bien utiliser le modèle de l'interface. le contrôle de l'instanciation), vous ne pouvez pas utiliser le même nom (foo.hpp) deux fois. (foo.hpp) deux fois, et foo.cpp ne serait pas approprié pour l'un ou l'autre. foo.ipp délimite clairement le fichier comme un fichier d'implémentation destiné à être être #inclus dans foo.hpp.

15voto

James Curran Points 55356

Je pense que "ipp" signifie "fichier d'implémentation", c'est-à-dire qu'il contient du code réel (pour les fonctions en ligne et les modèles) plutôt qu'une simple déclaration (qui se trouve dans les fichiers d'en-tête -- .H ou .HPP --).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X