فهم نوع المؤشر "هذا"
المؤشر "هذا" هو مؤشر يشير إلى الكائن الذي يعمل العضو من أجله يسمى. يتم توفيره تلقائيًا بواسطة المترجم ويستخدم للوصول إلى أعضاء الكائن. يعتمد نوع المؤشر "هذا" على ما إذا كان يتم الوصول إليه من خلال وظيفة عضو غير ثابت أو عضو ثابت.
في وظيفة عضو غير ثابت، يحتوي "هذا" على النوع "ClassName *،" حيث ClassName هو اسم الفئة. يسمح هذا لوظيفة العضو بتعديل بيانات الكائن. على سبيل المثال، يُظهر التعليمة البرمجية التالية دالة عضو غير ثابتة تقوم بتعديل اسم الكائن:
class Person { string name; void SetName(string newName) { name = newName; } };
في دالة العضو const، يحتوي 'this' على النوع "const ClassName *." يشير هذا إلى أن القيمة التي يشير إليها المؤشر ثابتة، أي أنه لا يمكن تعديلها. لا يزال بإمكان وظيفة العضو الوصول إلى بيانات الكائن، لكن لا يمكنها تعديلها. إليك مثال:
class Person { string name; void GetName() const { coutعادةً، سيحدد المترجم تلقائيًا نوع المؤشر "هذا" استنادًا إلى معدّلات وظيفة العضو. ومع ذلك، قد توفر بعض المترجمين خيارات إضافية لتحديد نوع المؤشر "هذا" بشكل صريح. ومن المهم فهم الفرق بين النوعين لضمان الاستخدام السليم لوظائف الأعضاء وبيانات الكائن.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3