Pregunta

¿Está mal usar .h como encabezado para un archivo c ++?

Lo veo por todas partes, especialmente con el código escrito en el estilo "C". Noté que Emacs siempre selecciona el estilo de resaltado C para un encabezado .h, pero c ++ para hpp o hh.

¿Está realmente mal? etiquetar sus encabezados .h o ¿es algo que me molesta?

EDITAR:

Hay una buena (ish) razón por la que esto me molesta, si tengo archivos de proyecto etiquetados, 'hpp & amp; cpp 'Puedo salir con' grep something * pp ', etc. de lo contrario tengo que escribir' .h cpp '

¿Fue útil?

Solución

No es incorrecto llamar a sus encabezados C ++ .h. No hay reglas sobre qué extensiones debe usar su código. Para sus no encabezados, MSVC usa .cpp y en Linux, .cc también. No existe un estándar global, y .h definitivamente es muy utilizado.

Pero diría que llamar a sus encabezados .hpp (también he visto .hh varias veces) es mucho más consistente e informativo que simplemente usar .h.

Otros consejos

nada de malo en eso. Este es el valor predeterminado con Microsoft Visual C ++.

Simplemente siga el estándar que desee y manténgalo.

Usted es libre de usar .h , .H , .hpp , .hxx , < code> .hh , o lo que quieras. Al igual que puede usar .c para fuentes C y .C , .cpp , .cc o .cxx para fuentes C ++. La extensión es en gran medida una convención.

Es como con los otros archivos: .c para C, .cpp para C ++: use .h para C, .hpp para C ++. Esto satisfará a la mayoría de los compiladores / editores. No es realmente incorrecto no hacerlo, pero se puede usar para dar una pista de cuál de los dos idiomas está utilizando realmente.

Si desea detener ese comportamiento sin cambiar el nombre de los archivos, debe echar un vistazo a la configuración de Emacs e intentar cambiar la detección del código fuente.

Dado que Emacs no tiene una manera fácil de averiguar si un archivo .h es C o C ++, no es ridículo elegir C para archivos .h y C ++ para archivos .hpp.

Tenga en cuenta que todos los archivos de encabezado de impulso tienen el sufijo .hpp.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top