C++كيفية إنشاء مؤشر لا يملك قيمة
إذا أردت إنشاء مؤشر لا يملك قيمة, لا بد أن تعطيه القيمة NULL
أو القيمة nullptr
لكي تضمن أنه فارغ و لا يوجد فيه أي قيم إفتراضية.
عندما تمرر له إحدى هاتين القيمتين تصبح قيمته تساوي 0
و عندها يصبح بشكل قاطع لا يشير لأي شيء موجود في الذاكرة لأنه لا يمكن لعنوان شيء موجود في الذاكرة أن يكون 0
فقط.
القيمة nullptr
هي قيمة مخصصة في لغة C++ للتعامل مع المؤشرات.
القيمة NULL
يمكن إستخدامها مع المؤشرات و أي شيء آخر نريد ضمان جعله لا يملك قيمة.
في المثال التالي قمنا بإنشاء مؤشر و طباعة القيمة الإفتراضية الموجودة فيه.
المثال الأول
using namespace std; int main() { // بدون جعله يشير لقيمة شيء موجود في الذاكرة x هنا قمنا بتعريف مؤشر إسمه int* x; // في الذاكرة x هنا قمنا بطباعة عنوان الشيء الذي يشير إليه المؤشر cout << "x = " << x; return 0; }
سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.
• نلاحظ أن المؤشر x
ظهر فيه قيمة عشوائية.
x = 0x10
هنا وضعنا مثال حول كيفية إنشاء مؤشر لا يملك قيمة ( Null Pointer ) بالإضافة إلى كيفية التشييك على المؤشر لمعرفة ما إن كان يملك قيمة أم لا.
المثال الثاني
using namespace std; int main() { // و جعله لا يشير لأي شيء موجود في الذاكرة x هنا قمنا بتعريف مؤشر إسمه int* ptr = NULL; // لا يشير لشيء موجود في الذاكرة ptr سيتم تنفيذ أمر الطباعة الموضوع هنا إذا كان المؤشر if (!ptr) { cout << "ptr is null"; } // يشير لشيء موجود في الذاكرة ptr سيتم تنفيذ أمر الطباعة الموضوع هنا إذا كان المؤشر else { cout << "ptr is not null"; } return 0; }
سنحصل على النتيجة التالية عند التشغيل.
ptr is null
إذاً عند التشييك على قيمة المؤشر نكتب (!ptr)
إذا أردنا تنفيذ أوامر في حال كان المؤشر فارغ.
و نكتب (ptr)
إذا أردنا تنفيذ أوامر في حال كان المؤشر يشير لشيء ما.