Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

C++كيفية إنشاء مؤشر لا يملك قيمة

إذا أردت إنشاء مؤشر لا يملك قيمة, لا بد أن تعطيه القيمة NULL أو القيمة nullptr لكي تضمن أنه فارغ و لا يوجد فيه أي قيم إفتراضية.
عندما تمرر له إحدى هاتين القيمتين تصبح قيمته تساوي 0 و عندها يصبح بشكل قاطع لا يشير لأي شيء موجود في الذاكرة لأنه لا يمكن لعنوان شيء موجود في الذاكرة أن يكون 0 فقط.


القيمة nullptr هي قيمة مخصصة في لغة C++ للتعامل مع المؤشرات.
القيمة NULL يمكن إستخدامها مع المؤشرات و أي شيء آخر نريد ضمان جعله لا يملك قيمة.


في المثال التالي قمنا بإنشاء مؤشر و طباعة القيمة الإفتراضية الموجودة فيه.

المثال الأول

main.cpp
#include <iostream>

using namespace std;

int main()
{
    // بدون جعله يشير لقيمة شيء موجود في الذاكرة x هنا قمنا بتعريف مؤشر إسمه
    int* x;
    
    // في الذاكرة x هنا قمنا بطباعة عنوان الشيء الذي يشير إليه المؤشر
    cout << "x = " << x;
    
    return 0;
}

سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.
نلاحظ أن المؤشر x ظهر فيه قيمة عشوائية.

x = 0x10

هنا وضعنا مثال حول كيفية إنشاء مؤشر لا يملك قيمة ( Null Pointer ) بالإضافة إلى كيفية التشييك على المؤشر لمعرفة ما إن كان يملك قيمة أم لا.

المثال الثاني

main.cpp
#include <iostream>

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) إذا أردنا تنفيذ أوامر في حال كان المؤشر يشير لشيء ما.