Avatar ·

*.h 还是 *.hpp 用于 C++ 头文件:应该选择哪个扩展名?

大家好!我是 C++ 新手,正在开发我的第一个小项目——一个用于矩阵操作的类。我注意到在不同的项目和教材中,头文件使用了不同的扩展名:有些人写 `matrix.h`,另一些人写 `matrix.hpp`。这让我感到困惑。 我习惯在 C 中所有头文件都使用 `.h` 扩展名。但 C++ 是一种独立的语言,尽管在很大程度上基于 C。当我编写类定义时,例如: ```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 ``` ……我觉得使用 `.hpp` 更合理,这样可以明确表示这是 C++ 而不是 C。但有些同事说 `.h` 是标准,而 `.hpp` 只会造成混淆。另一些人则认为 `.hpp` 是“真正” C++ 代码的标志。 请问,在现代 C++ 中哪个扩展名更正确?是否有统