*.h oder *.hpp für C++-Header-Dateien: Welche Erweiterung wählen?
Hallo zusammen! Ich bin neu in C++ und entwickle mein erstes kleines Projekt – eine Klasse für die Arbeit mit Matrizen. Mir ist aufgefallen, dass in verschiedenen Projekten und Lehrbüchern unterschiedliche Erweiterungen für Header-Dateien verwendet werden: Manche schreiben `matrix.h`, andere `matrix.hpp`. Das hat mich verwirrt.
Ich bin es gewohnt, dass in C alle Header-Dateien die Erweiterung `.h` haben. Aber C++ ist eine eigene Sprache, auch wenn sie weitgehend auf C basiert. Wenn ich eine Klassendefinition schreibe, zum Beispiel:
```cpp
// matrix.h
#ifndef MATRIX_H
#define MATRIX_H
class Matrix {
public:
Matrix(int rows, int cols);
void print() const;
private:
int rows_, cols_;
double* data_;
};
#endif
```
...erscheint es mir logisch, `.hpp` zu verwenden, um explizit darauf hinzuweisen, dass es sich um C++ und nicht um C handelt. Aber einige Kollegen sagen, dass `.h` der Standard ist und `.hpp` nur verwirrt. Andere behaupten, dass `.hpp` ein Zeichen für "echten" C++-Code ist.
Bitte sagt mir, welche Erweiterung im modernen C++ korrekter ist. Gibt es eine offizielle Empfehlung?