"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحديد أعضاء ثابت std::string في C++؟

كيفية تحديد أعضاء ثابت std::string في C++؟

تم النشر بتاريخ 2024-12-21
تصفح:772

How to Define Static const std::string Members in C  ?

تحديد أعضاء البيانات الثابتة من النوع 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