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