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

ماذا يحدث عندما تخطر مؤشرًا فارغًا لإنشاء مرجع في C ++؟

نشر في 2025-03-25
تصفح:408

What Happens When You Dereference a NULL Pointer to Create a Reference in C  ?

في هذا السياق ، يشير "dereferencing" إلى عملية الحصول على القيمة المخزنة في عنوان الذاكرة التي أشار إليها المؤشر. int & ref = *ptr ؛ int * ptr2 = & ref ؛

يبدو السطر "int & ref = * ptr" dereference المؤشر الفارغ "ptr" للحصول على مرجع. ومع ذلك ، فإن هذا السلوك هو

غير محدد

في معيار C. يشكل هذا الإجراء سلوكًا غير محدد كما هو مذكور في المعيار. أحد الاستثناءات من هذه القاعدة هو عند استخدام مشغل "sizeof" ، حيث لا يتم تقييم المعامل إلى "sizeof" فعليًا ، لذلك لا يحدث الإرهاق أبدًا.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3