الرئيسيةعريقبحث

مؤشر ذكي


لمعانٍ أخرى، انظر مؤشر (توضيح).

في علوم الحاسوب والبرمجة المؤشر الذكي (Smart Pointer)‏، هو نوع بيانات مجرد يحاكي عمل المؤشرات مع توفير مزايا أخرى منها جمع المهملات الآلي، وفحص الحدود.[1][2][3] هذه المزايا الإضافية تعمل على تجنب المشكلات الناتجة عن الاستخدام الخاطئ للمؤشرات، وذلك مع الحفاظ على الفاعلية المطلوبة. تحتفظ المؤشرات الذكية بمعلومات عن الكائنات التي تشير إليها بغرض إدارة الذاكرة.

يعد الاستخدام الخاطئ للمؤشرات مصدرا رئيسيا للمشكلات؛ فعمليات حجز الذاكرة، إلغاء حجزها، والارتباطات المرجعية التي تحدث ضمن أي برنامج مكتوب باستخدام المؤشرات ينشأ عنها خطر تسرب الذاكرة. وتعمل المؤشرات الذكية على منع تسرب الذاكرة عن طريق جعل عملية إلغاء حجز الذاكرة تحدث بشكل تلقائي: عندما ينتهي مؤشر (أو آخر مؤشر ضمن مجموعة مؤشرات) لكائن ما، على سبيل المثال بسبب خروجه عن نطاق التنفيذ، فحينها يدمر الكائن الذي يشير إليه هذا المؤشر أيضا.

مراجع

  1. boost::shared_ptr thread safety(does not formally cover std::shared_ptr, but is believed to have the same threading limitations) نسخة محفوظة 11 أكتوبر 2008 على موقع واي باك مشين.
  2. Sutter, Herb (20 April 2013). "Trip Report: ISO C++ Spring 2013 Meeting". isocpp.org. مؤرشف من الأصل في 20 أغسطس 201714 يونيو 2013.
  3. "Taligent's Guide to Designing Programs, section Use special names for copy, create, and adopt routines". مؤرشف من الأصل في 10 يوليو 2017.

مقالات ذات صلة

موسوعات ذات صلة :