typedef CFString يبدأ بـ __
-
21-12-2019 - |
سؤال
typedef const struct __CFString * a1;
في إعلان typedef أعلاه، تم تعريف a1 كمؤشر إلى البنية الثابتة __CFString.
هنا ماذا يعني "__"؟
ثم أقوم بإنشاء تعريف جديد كـ a2، الموضح أدناه.
typedef const struct CFString * a2;
إذًا، كيف يختلف a1 عن a2؟
المحلول
بادئ ذي بدء ، الشرطة السفلية في __CFString
هي جزء من الاسم، لذلك struct __CFString
و struct CFString
هي أنواع مختلفة، تماما مثل struct XXCFString
و struct CFString
هي أنواع مختلفة.
ثانيًا، يتم حجز أي اسم يبدأ بشرطة سفلية مزدوجة للتنفيذ.بمعنى آخر، لا يمكنك استخدام الأسماء التي تبدأ بشرطة سفلية مزدوجة دون المخاطرة بتضارب الأسماء.
إليك إجابة SO أخرى تحتوي على مزيد من التفاصيل: ما هي قواعد استخدام الشرطة السفلية في معرف C++؟
لا تنتمي إلى StackOverflow