2010-02-11 19 views

Respuesta

18

convenciones Simplemente, no es nada especial. Puede usar cualquier extensión en archivos incluidos, en realidad.

1

De hecho, Otavio tiene razón.

Uso hpp/h para diferenciar entre los dos idiomas al crear productos de idiomas mixtos. Por ejemplo, una definición de clase podría ir en .hpp (implementación en .cpp), mientras que un archivo .h definiría solo funciones soportadas por C. Para hacer esta separación es importante saber la diferencia entre los lenguajes, para este fin Paso * .c a través de gcc y * .cpp a través de g ++.

4

.hpp, .H, etc. es una convención suelta para los archivos de encabezado C++, .tcc es una convención informal para la implementación de plantillas C++, .h es una convención bastante fuerte para los archivos c.

Boost utiliza la extensión hpp, QT usa la extensión .h, STL no tiene extensión. Estoy seguro de que hay bibliotecas que usan .H pero no han visto ninguna.

+0

No creo que Qt use ninguna extensión en absoluto. – Veeti

+2

QT 3 usa en gran medida la extensión .h, pero Qt 4 parece estar migrando a no tener extensión, ya que la mayoría de los encabezados también tienen contrapartes .h. – greyfade

1

El propósito de la directiva de preprocesador #include "filename" es reemplazar la línea #include con el contenido filename.
De hecho, cualquier nombre para el archivo sería útil, pero como sucede con la convención, los archivos de inclusión son ".h" o ".hpp", una ventaja es el resaltado de sintaxis en el editor de su elección (vim en mi caso)

0

He oído que también es algo común que los programadores de UNIX y Linux utilicen .hh y .cc en lugar de .cpp y .h. Personalmente, me gusta nombrar mis archivos de cabecera .hh porque ayuda a emacs a distinguir entre el resaltado de sintaxis C y C++. También uso la extensión .cc porque se ve bien junto con .hh, y es más corta que .cpp. Y generalmente hago mi codificación en y para entornos Linux.

0

le está diciendo al compilador que incluya el archivo dado en su código durante la compilación. así que no importa qué extensión tenga el archivo. Pero preferiblemente debe ser un archivo de texto.

Cuestiones relacionadas