تحديد أعضاء البيانات الثابتة من النوع const std::string
في لغة C، تحديد عضو ثابت خاص من النوع std::string داخل الفصل الذي يستخدم التهيئة داخل الفصل، كما هو موضح أدناه، غير متوافق مع معيار C:
class A { private: static const string RECTANGLE = "rectangle"; }
ومع ذلك، توفر لغة C طرقًا بديلة لتحقيق هذه الوظيفة.
C 17 Inline Variables
منذ C 17، يمكنك استخدام المتغيرات المضمنة لـ هذا الغرض. المتغير المضمن هو إحدى ميزات C 17 التي تسمح بالإعلان عن متغير ثابت مباشرة ضمن تعريف الفئة، باستخدام الكلمة الأساسية المضمنة. على سبيل المثال:
// In a header file (if necessary) class A { private: inline static const string RECTANGLE = "rectangle"; };
مقاربة ما قبل C 17]
قبل C 17، يجب عليك تحديد العضو الثابت خارج تعريف الفئة وتوفير المُهيئ هناك. إليك مثال:// في ملف رأس (إذا لزم الأمر) فئة أ { خاص: سلسلة ثابتة ثابتة RECTANGLE؛ };// In a header file (if necessary) class A { private: static const string RECTANGLE; };// في أحد ملفات التنفيذ سلسلة const A::RECTANGLE = "rectangle";
// In a header file (if necessary) class A { private: static const string RECTANGLE; };
ملاحظة: صيغة التهيئة التي حاولت (ضمن تعريف الفئة) مدعومة فقط للأنواع المتكاملة والتعداد.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3