*.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++ الحديث؟ هل هناك أي