C++ တွင် Null နှင့် Nullptr ကွာခြားချက်ကဘာလဲ။ (အသေးစိတ်) - ကွဲပြားမှုအားလုံး

 C++ တွင် Null နှင့် Nullptr ကွာခြားချက်ကဘာလဲ။ (အသေးစိတ်) - ကွဲပြားမှုအားလုံး

Mary Davis

“Nullptr” သည် သုညကို လိပ်စာအဖြစ် ဖော်ပြသည့် အဓိကစကားလုံးအဖြစ် ယူဆကြပြီး “Null” သည် သုညတန်ဖိုးကို ကိန်းပြည့်အဖြစ် သတ်မှတ်သည်။

သင်သည် ပရိုဂရမ်မာတစ်ဦးဖြစ်ပါက၊ ကွန်ပြူတာဘာသာစကားများကို ပိုမိုကောင်းမွန်စွာကုဒ်လုပ်ရန် မည်မျှအရေးကြီးသည်ကို သင်သိနိုင်ပါသည်။ ဒါပေမယ့် တစ်ခါတလေမှာ နည်းနည်းတော့ ရှုပ်ထွေးနိုင်ပြီး အရာနှစ်ခုကြား ရောထွေးသွားနိုင်ပါတယ်။

C++ ဘာသာစကားတွင် Null နှင့် Nullptr အတွက် အလားတူဖြစ်သည်။ ဤအသုံးအနှုန်းနှစ်ခု၏ အဓိပ္ပါယ်နှင့် ၎င်းတို့၏ ခြားနားချက်နှင့် ၎င်းတို့၏အသုံးပြုမှုကို နားလည်နိုင်စေရန် ကူညီပေးသည့် လုပ်ဆောင်ချက်များကို ပြောပြပါရစေ။

ချက်ချင်းဝင်ကြည့်ရအောင်။

ကွန်ပြူတာ ဘာသာစကားများ ဆိုသည်မှာ အဘယ်နည်း။

ကွန်ပြူတာဘာသာစကားများကို ပရိုဂရမ်များနှင့် သီးခြားအပလီကေးရှင်းများရေးရန် အသုံးပြုသည့် ကုဒ် သို့မဟုတ် အထားအသိုအဖြစ် သတ်မှတ်နိုင်သည်။

အခြေခံအားဖြင့်၊ ၎င်းသည် ကွန်ပျူတာများနှင့် ဆက်သွယ်ရာတွင် အသုံးပြုသည့် တရားဝင်ဘာသာစကားတစ်ခုဖြစ်သည်။ ထိုနည်းအတူ၊ မတူညီသောနိုင်ငံများတွင် လူအများ၏ အတွေးအမြင်များကို မျှဝေရာတွင် အထောက်အကူဖြစ်စေသော ဘာသာစကားအမျိုးမျိုးရှိသောကြောင့် ကွန်ပျူတာများကို အသုံးပြုကြသည်။

၎င်းတို့ကို ကွန်ပျူတာ၏ ပရိုဂရမ်ရေးဆွဲခြင်းကို နားလည်ရန်နှင့် ၎င်းတို့အတွက် လုပ်ဆောင်ရန် ၎င်းတို့ကို တီထွင်ထားသည်။ ယေဘုယျအားဖြင့်၊ ကွန်ပျူတာဘာသာစကားကို ပင်မအမျိုးအစားသုံးမျိုးဖြင့် ခွဲခြားနိုင်သည်-

  • Assembly language

    ၎င်းကို မိုက်ခရိုပရိုဆက်ဆာများအတွက် အသုံးပြုသည့် အဆင့်နိမ့်ဘာသာစကားတစ်ခုဟု ယူဆပါသည်။ နှင့် အခြားသော ပရိုဂရမ်လုပ်နိုင်သော စက်ကိရိယာများစွာ။ ၎င်းသည် ဒုတိယမျိုးဆက်ဘာသာစကားဖြစ်သည်။ ၎င်းသည် operating system တစ်ခုရေးသားခြင်းနှင့် မတူညီသော desktop applications များရေးသားခြင်းအတွက် လူသိများသည်။

  • စက်ဘာသာစကား

    ဤမိခင်ဘာသာစကားသည် ပထမမျိုးဆက်ဘာသာစကားတစ်ခုဖြစ်သည်။၎င်းကို စက်ကုဒ် သို့မဟုတ် အရာဝတ္ထုကုဒ်ဟု ခေါ်သည်၊ ဒွိဂဏန်းများ 0 နှင့် 1 ပါရှိသည်။ ဤဂဏန်းများကို လျင်မြန်စွာ ဘာသာပြန်ပေးသော ကွန်ပျူတာစနစ်က နားလည်ပြီး ဖတ်သည်။

  • အဆင့်မြင့်ဘာသာစကား

    ၎င်းကို ဘာသာစကားအဟောင်းများတွင် သယ်ဆောင်ရလွယ်ကူသည့် ပြဿနာများကြောင့် တည်ထောင်ခဲ့ခြင်းဖြစ်သည်။ ကုဒ်သည် စက်တစ်လုံးတွင် ရေးထားသော ဤအဓိပ္ပါယ်ကုဒ်ကို လွှဲပြောင်း၍မရပါ။ ဤဘာသာစကားသည် နားလည်ရလွယ်ကူပြီး အလွန်အသုံးပြုရလွယ်ကူသည်။

ကွန်ပြူတာနားလည်သည့်ဘာသာစကား၏အပိုင်းကို "binary" ဟုခေါ်သည်။ အခြားတစ်ဖက်တွင်၊ ပရိုဂရမ်းမင်းဘာသာစကားကို binary သို့ပြန်ဆိုခြင်းကို "compiling" ဟုခေါ်သည်။

အတိုချုပ်အားဖြင့်၊ ပရိုဂရမ်းမင်းဘာသာစကားများသည် လူများအား ၎င်းတို့အား ဖတ်ရှုပြီး လုပ်ဆောင်နိုင်စေရန် ကွန်ပြူတာအား ညွှန်ကြားချက်များ ပေးခွင့်ပြုသည်။ ကွန်ပျူတာဘာသာစကားတစ်ခုစီတွင် C language မှ python အထိ ထူးခြားသောအင်္ဂါရပ်များရှိသည်။

ဤဘာသာစကားများသည် ကွန်ပျူတာများအတွက် ကြီးမားပြီး ရှုပ်ထွေးသောဒေတာများကို ပိုမိုထိရောက်စွာလုပ်ဆောင်ရန် ပိုမိုလွယ်ကူမြန်ဆန်စေသည်။ ယနေ့ကမ္ဘာပေါ်တွင် ပရိုဂရမ်းမင်းဘာသာစကားများစွာရှိသည်။ ၎င်းတို့ထဲမှ အချို့မှာ Java၊ Python၊ HTML၊ C၊ C++ နှင့် SQL တို့ ပါဝင်သည်။

C++ ဘာသာစကားဆိုတာ ဘာလဲ?

C++ ဘာသာစကားသည် ကမ္ဘာပေါ်တွင် ရေပန်းအစားဆုံး ပရိုဂရမ်းမင်းဘာသာစကားများထဲမှ တစ်ခုဖြစ်သည်။ ဤဘာသာစကားကို လည်ပတ်မှုစနစ်များ၊ ဂရပ်ဖစ်အသုံးပြုသူ အင်တာဖေ့စ်များနှင့် ယနေ့ကမ္ဘာရှိ မြှုပ်သွင်းထားသော စနစ်များတွင် သင်တွေ့ရပါမည်။

၎င်းသည် စွမ်းဆောင်ရည်မြင့် အပလီကေးရှင်းများ ဖန်တီးရန် အသုံးပြုသည့် ကွန်ပလက်ဖောင်း ဘာသာစကားတစ်ခုဖြစ်သည်။ C++ ဘာသာစကားကို တည်ထောင်ခဲ့သည်။C language ဖန်တီးရာတွင်လည်း တာဝန်ရှိသော Bjarne Stroustrup မှ ၎င်း၏အမည်ကဲ့သို့ ထင်ရှားသည့်အတိုင်း ဤဘာသာစကားသည် C ဘာသာစကား၏ တိုးချဲ့မှုတစ်ခုဖြစ်သည်။

၎င်းသည် ပရိုဂရမ်မာများအား စနစ်ရင်းမြစ်များနှင့် မန်မိုရီများအပေါ် မြင့်မားသော ထိန်းချုပ်မှုကို ခွင့်ပြုပေးသည်။ အပ်ဒိတ်လုပ်ထားပြီးသားလို့ ထင်ကောင်းထင်နိုင်ပါတယ်။ သို့သော်လည်း ဘာသာစကားကို 2011၊ 2014 နှင့် 2017 တို့တွင် သုံးကြိမ် အပ်ဒိတ်လုပ်ထားပါသည်။ ၎င်းသည် C++11၊ C++14 မှ C++17 သို့ပြောင်းသွားသည်။

ယနေ့ထိတိုင်၊ C++ ဘာသာစကားသည် ကွဲပြားသောလည်ပတ်မှုစနစ်များ သို့မဟုတ် ပလပ်ဖောင်းများတွင် ထိရောက်စွာလုပ်ဆောင်နိုင်သော ဖန်တီးရှင်များအား ဖန်တီးသူများအား တီထွင်ဖန်တီးသူများအား ၎င်း၏ထူးခြားသောသယ်ဆောင်ရလွယ်ကူမှုကြောင့် အလွန်တန်ဖိုးထားလေးစားခံရပါသည်။

ဘာကြောင့် C++ ကို လူတော်တော်များများ သုံးကြတာလဲ။

ဤဘာသာစကားသည် ပျံ့နှံ့နေပါသည် ၎င်းသည် ပရိုဂရမ်များအတွက် ရှင်းလင်းသောဖွဲ့စည်းပုံအား ပေးဆောင်သည့် အရာဝတ္ထုကို ဦးတည်သည့် ပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်သောကြောင့်၊ ကုဒ်ကို ပြန်လည်အသုံးပြုရန် ခွင့်ပြုပေးခြင်းဖြင့် ဖွံ့ဖြိုးတိုးတက်မှုကုန်ကျစရိတ်ကို သက်သာစေပါသည်။

၎င်း၏စွမ်းဆောင်ရည်မြင့်မားမှုကြောင့်၊ ဤဘာသာစကားကို ဂိမ်းများ၊ ဒက်စ်တော့အက်ပ်များ၊ ဘရောက်ဆာများနှင့် လည်ပတ်မှုစနစ်များကို ဖော်ဆောင်ရန်အတွက် အသုံးပြုပါသည်။ ဤဘာသာစကား၏ နောက်ထပ်အင်္ဂါရပ်တစ်ခုမှာ ၎င်းသည် သယ်ဆောင်ရလွယ်ကူပြီး ၎င်းတို့သည် ပလပ်ဖောင်းများစွာနှင့် လိုက်လျောညီထွေဖြစ်စေနိုင်သော အပလီကေးရှင်းများကို ဖန်တီးနိုင်စေခြင်းပင်ဖြစ်သည်။

၎င်းသည် သင်ယူရန် အခက်ခဲဆုံးဘာသာစကားများထဲမှ တစ်ခုဖြစ်ကြောင်း သိရှိထားသော်လည်း ၎င်းတွင် အားသာချက်များရှိသည်။ ၎င်း၏ multi-paradigm language နှင့် ၎င်း၏ လုပ်ဆောင်ချက်များ ပိုမိုအဆင့်မြင့်သော syntax ကြောင့် အခြားသူများထက် နားလည်ရန် ပိုမိုခက်ခဲပါသည်။

သင် C++ ဘာသာစကားကို သင်ယူနိုင်လျှင် သင်ယူရန် ပိုမိုများပြားလာပါသည်။Java နှင့် Python ကဲ့သို့သော ဤတစ်ခုပြီးနောက် အခြားသော ပရိုဂရမ်းမင်းဘာသာစကားများ။

အတိုချုပ်ပြောရလျှင် C++ သည် ယေဘူယျရည်ရွယ်ချက်တစ်ခုဖြစ်ပြီး ၎င်းကို “C style” ဖြင့် ကုဒ်လုပ်နိုင်သော အလယ်တန်းအဆင့် ပရိုဂရမ်းမင်းဘာသာစကားဖြစ်သည်။ အချို့ကိစ္စများတွင် သင်သည်၊ C++ သည် ဟိုက်ဘရစ်ဘာသာစကား ၏ ဥပမာတစ်ခုအဖြစ် ဖော်မတ်နှစ်ခုလုံးဖြင့် ကုဒ်ရေးခြင်းကို လုပ်ဆောင်နိုင်သည်။

C နှင့် C++ ဘာသာစကားများတွင် Null အက္ခရာ၊ Null pointer နှင့် Null ဖော်ပြချက် ( semicolon (;) ဖြင့်ကိုယ်စားပြုသည်)။

Null ဟူသည် အဘယ်နည်း။ C++ လား?

Null သည် သုည၏တန်ဖိုးကိုထိန်းထားနိုင်သော built-in ကိန်းသေတစ်ခုအဖြစ်သတ်မှတ်သည်။ ၎င်းသည် ကွန်ပြူတာပရိုဂရမ်ရေးဆွဲခြင်းတွင် ကိန်းသေနှင့် ညွှန်ပြချက်တစ်ခုဖြစ်သည်။

ဒေတာဘေ့စ်တစ်ခုတွင် သုညသည် တန်ဖိုးတစ်ခုဖြစ်သည်။ တန်ဖိုး Null သည် မည်သည့်တန်ဖိုးမျှ မရှိသည်ကို ဖော်ပြသည်။ Null ကိုတန်ဖိုးအဖြစ်အသုံးပြုသောအခါ၊ ၎င်းသည် မှတ်ဉာဏ်တည်နေရာမဟုတ်ပါ။

ထို့ပြင်၊ Null စာလုံးမရှိဘဲ၊ စာကြောင်းတစ်ခုသည် သင့်လျော်စွာ အဆုံးသတ်နိုင်မည်မဟုတ်သောကြောင့် ပြဿနာများစွာကို ဖြစ်စေသည်။ Null အက္ခရာသည် မတူညီသော ပရိုဂရမ်းမင်းဘာသာစကားများတွင် မတူညီသောအသုံးပြုမှုများစွာရှိသည်။

မေးခွန်းမှာ C++ တွင် Null ကိုမည်သို့ရေးမည်နည်း။ ကောင်းပြီ၊ Null ကိန်းသေတစ်ခုတွင် ကိန်းပြည့်အမျိုးအစားတစ်ခုရှိလျှင် ၎င်းကို အမျိုးအစားတစ်ခု၏တန်ဖိုးအဖြစ်သို့ ပြောင်းလဲနိုင်သည်။

ကြည့်ပါ။: ROI နှင့် ROIC ကွာခြားချက်ကဘာလဲ။ (ရှင်းပြသည်) - ကွဲပြားမှုအားလုံး

ဥပမာ၊ ဤအက္ခရာ "Null" ကို ဒေတာတန်ဖိုးတစ်ခုဒေတာဘေ့စ်တွင်မရှိဟုဖော်ပြရန် သီးခြားအမှတ်အသားတစ်ခုအဖြစ် Structured Query Language (SQL) တွင် အသုံးပြုပါသည်။ ဆက်စပ်ဒေတာဘေ့စ်ဆိုသည်မှာ သီးခြားကော်လံတစ်ခုရှိတန်ဖိုးကို မသိရှိခြင်း သို့မဟုတ် ပျောက်ဆုံးနေသည့်အခါဖြစ်သည်။

ကြည့်ပါ။: မြောက်ဒါကိုတာနှင့် တောင်ဒါကိုတာ (နှိုင်းယှဉ်မှု) – အားလုံးသော ကွဲပြားမှုများ

ထို့ပြင်၊ C#၊ပရိုဂရမ်းမင်းဘာသာစကား၊ Null သည် “အရာဝတ္ထုမရှိ” ဟု အဓိပ္ပါယ်ရသည်။ ဤဘာသာစကားတွင်၊ ၎င်းသည် ကိန်းသေသုညနှင့်မတူပါ။

သို့သော် C++ ဘာသာစကားတွင်၊ Null အက္ခရာသည် တရားဝင်သောဒေတာအရာဝတ္တုကိုမျှမညွှန်ပြဘဲ သီးခြားသီးသန့်ထားရှိသော အမှတ်တန်ဖိုးတစ်ခုဖြစ်သည်။ ထို့အပြင်၊ C++ ဘာသာစကားတွင်၊ Null လုပ်ဆောင်ချက်များသည် pointer variable များသို့တန်ဖိုးသတ်မှတ်ရန်နည်းလမ်းတစ်ခုသာဖြစ်သည်။

Null နှင့် Zero အကြား ကွဲပြားခြင်း

Null သည် Zero တန်ဖိုးကို ကိုင်ဆောင်ထားသောကြောင့် Null နှင့် Zero ကို မည်သို့ခွဲခြားရမည်ကို လူအများက မကြာခဏ ရှုပ်ယှက်ခတ်နေပါသည်။

C++ တွင် Null သည် Null pointer constant ကို သတ်မှတ်ပေးသည့် macro တစ်ခုဖြစ်ပြီး ယေဘုယျအားဖြင့် တန်ဖိုး သုညဖြစ်သည်။ သို့သော်၊ Null သည် သင့်အား ကိန်းရှင်သည် မည်သည့်အလေးချိန်မျှ မထိန်းထားနိုင်သော သိသာထင်ရှားသောတန်ဖိုးကို ပေးသည်။

သို့သော်၊ Zero သည် တန်ဖိုးတစ်ခုဖြစ်ပြီး ၎င်းသည် flow sequence တစ်လျှောက်လုံးတွင် ရှိနေမည်ဖြစ်သည်။ တစ်နည်းဆိုရသော် Zero သည် နံပါတ်တန်ဖိုးဖြစ်ပြီး Null သည် ဗလာဟု အဓိပ္ပာယ်ရသည်။

၎င်းကို ရေခဲသေတ္တာအတွက် သီးသန့်နေရာတစ်ခု ဟု သင်ယူဆနိုင်သည် ။ ရေခဲသေတ္တာရှိပေမယ့် ဘာမှ မပါဝင်ရင် တန်ဖိုးက Zero ဖြစ်ပါတယ်။ အခြားတစ်ဖက်တွင်၊ ရေခဲသေတ္တာအတွက် သီးသန့်နေရာသည် ရေခဲသေတ္တာ လုံးဝမရှိပါက၊ တန်ဖိုးသည် Null ဖြစ်သည်။

C++ တွင် Nullptr ဆိုသည်မှာ အဘယ်နည်း။

“Nullptr” သော့ချက်စကားလုံးသည် Null pointer တန်ဖိုးကို ကိုယ်စားပြုသည်။ အရာဝတ္ထုလက်ကိုင်၊ အတွင်းညွှန်ပြ သို့မဟုတ် မူလညွှန်ပြသည့်အမျိုးအစားသည် အရာဝတ္တုအား မညွှန်ပြရန် Null pointer တန်ဖိုးကို သင်အသုံးပြုမည်ဖြစ်သည်။

ညွှန်ပြသူများသာ မှတ်ဉာဏ်တည်နေရာများကို ထိန်းထားနိုင်ပြီး တန်ဖိုးများ မရနိုင်ပါ။

ဦးစွာ၊ ညွှန်ပြချက်တစ်ခု ဖြစ်သည်ကို နားလည်ရန် လိုအပ်ပါသည်။ ၎င်းသည် မှတ်ဉာဏ်တည်နေရာကို ထိန်းထားနိုင်သော ကိန်းရှင်တစ်ခုဖြစ်သည်။

Null pointer သည် မည်သည့်အရာကိုမျှ ရည်ရွယ်ချက်ရှိရှိ အချက်ပြသည့် ညွှန်ပြချက်တစ်ခုဖြစ်သည်။ သင်ညွှန်ပေးသည့် လိပ်စာတစ်ခု မရှိပါက၊ သင်သည် Null ကိုသုံးနိုင်သည်။ Null တန်ဖိုးသည် အမှတ်အသားပါရှိသော အပလီကေးရှင်းများတွင် မမ်မိုရီယိုစိမ့်မှုနှင့် ပျက်စီးမှုများကို ရှောင်ရှားသည်။

ထို့ပြင်၊ Nullptr ကိုစစ်ဆေးရန်၊ သင် pointer တစ်ခုသည် C++ တွင် Null ရှိမရှိစစ်ဆေးရန် အခြေအနေတစ်ခုအဖြစ် pointer value ကိုသုံးနိုင်သည်။ ယုတ္တိရှိသောအသုံးအနှုန်းများတွင်အသုံးပြုသောအခါ၊ Null pointers များကို false အဖြစ်အကဲဖြတ်သည်။

ထို့ကြောင့်၊ Null ဟုတ်မဟုတ် စစ်ဆေးရန် if statement condition တွင် ပေးထားသော pointer ကို ထားနိုင်သည်။ အတိုချုပ်အားဖြင့်၊ Nullptr သည် Zero လိပ်စာအဖြစ် ကိုယ်စားပြုသော ညွှန်ပြ-အမျိုးအစားသော့ချက်စာလုံးဖြစ်သည်။

Nullptr သည် အဘယ်ကြောင့် Nullptr လိုအပ်နေသနည်း။ အဘယ်ကြောင့်ဆိုသော် C++11 တွင် Nullptr သည် Null pointer constant ဖြစ်ပြီး၊ ၎င်းသည် အမျိုးအစားဘေးကင်းမှုကို မြှင့်တင်ပေးသောကြောင့် လိုအပ်ပါသည်။

Null နှင့် Nullptr တူညီပါသလား။

မဟုတ်ဘူး သူတို့ မဟုတ်ဘူး။ ၎င်းတို့၏ ကွဲပြားမှုများကို ဦးစွာသိရှိရန် အောက်ပါဇယားကို ကြည့်ပါ။

Nullptr Null
သုညကိုကိုယ်စားပြုသောသော့ချက်စာလုံး သုည၏တန်ဖိုး
သုညကို လိပ်စာတစ်ခုအဖြစ် ကိုယ်စားပြု တန်ဖိုးကို ကိုယ်စားပြုသည် ကိန်းပြည့်
အသစ်နှင့် အကြံပြုထားသော လုပ်ဆောင်ချက် အဟောင်းများနှင့်ကန့်ကွက်ထားသော လုပ်ဆောင်ချက်
ညွှန်ပြသူ အမျိုးအစားအမှန် ကိန်းပြည့်

ကိန်းသေ သုည

သင်မရောထွေးစေရန် အဓိကစကားလုံးများကို မှတ်သားထားပါ။

Null ကို အမှန်တကယ် ကိန်းပြည့်တစ်ခုဟု သတ်မှတ်ပြီး သွယ်ဝိုက်သောကူးပြောင်းမှုကြောင့် pointer သို့ သတ်မှတ်ပေးနိုင်သည်။

Nullptr သည် ကိုယ်တိုင်သတ်မှတ်ထားသော အမျိုးအစား၏တန်ဖိုးကို ကိုယ်စားပြုသည့်သော့ချက်စာလုံးဖြစ်ပြီး ၎င်းသည် pointer အဖြစ်သို့ ပြောင်းလဲနိုင်သော်လည်း ကိန်းပြည့်အဖြစ်သို့ ပြောင်းလဲနိုင်သည်။ Nullptr သည် ယေဘုယျအားဖြင့် Null pointer ဖြစ်ပြီး အမြဲတမ်း တစ်ခုဖြစ်သည်။ ၎င်းကို ကိန်းပြည့်တစ်ခုသို့ သတ်မှတ်ရန် ကြိုးစားပါက၊ ၎င်းသည် အမှားအယွင်းများကို ဖြစ်စေသည်။

ဒါကို နားမလည်သေးရင် ဒီဗီဒီယိုကို ကြည့်ပါ။

ဤဗီဒီယိုသည် Null သို့မဟုတ် nullptr ကို မည်သည့်အချိန်နှင့် အသုံးပြုသင့်သည်ကို အတိအကျ ရှင်းပြထားသည်။ streamer နှင့်အတူ ကုဒ်။

Null အစား Nullptr ကို သုံးနိုင်ပါသလား။

ဟုတ် ၎င်းတို့သည် တူညီခြင်းမရှိသော်လည်း၊ Null အစား Nullptr ကို အသုံးပြုရန် နည်းလမ်းရှိပါသည်။

ထို့အပြင် Nullptr သည် C++ တွင် အစားထိုးနိုင်သော သော့ချက်စကားလုံးအသစ်ဖြစ်သည်။ Null Nullptr သည် အချည်းနှီးသော ညွှန်ပြချက်ကို ကိုယ်စားပြုသည့် ဘေးကင်းသော အမျိုးအစား အမှတ်အသားတန်ဖိုးကို ပေးသည်။

အချို့က Null ကို မသင့်လျော်သောကြောင့် ကိုရှောင်ကြသော်လည်း၊ Null အစား Nullptr ကိုအသုံးပြုရန် အကြံပြုချက်ကို ကုဒ်ဒါအများအပြားက လိုက်နာသောကြောင့် ယနေ့ခေတ်တွင် အဖြစ်နည်းပါသည်။

ထို့ပြင်၊ သင်သည် အကိုးအကားကို အသုံးမပြုမီ အမှတ်အသား သို့မဟုတ် ကိုင်တွယ်ရည်ညွှန်းချက်သည် Null ရှိမရှိ စမ်းသပ်ရန် Nullptr သော့ချက်စကားလုံးကို အသုံးပြုနိုင်သည်။

Nullptr ကို ကိုးကားနိုင်ပါသလား။

သင် nullptr ကို ရွေးချယ်နိုင်ပါသည်။ သင် ထိုသို့ပြုလုပ်ပါက၊ ညွှန်ပြညွှန်ပြနေသည့် လိပ်စာတွင် တန်ဖိုးကို သင်ဝင်ရောက်နိုင်သည်။

ကွန်ပြူတာဘာသာစကားများတွင်၊ pointer မှညွှန်ပြသောမှတ်ဉာဏ်တည်နေရာတွင်ပါရှိသောအချက်အလက်များကိုဝင်ရောက်ရန် သို့မဟုတ် စီမံရန် အကိုးအကားကိုအသုံးပြုသည်။

သို့သော်လည်း၊ သင်သည် ၎င်းကို C ဘာသာစကားဖြင့် ပြုလုပ်၍မရပါ Null pointer သည် သိမ်းဆည်းထားသည့် ဒေတာကို ဝင်ရောက်ကြည့်ရှုနေသည့် အဓိပ္ပါယ်ရှိသော အရာတစ်ခုကို နှောင့်နှေးစေရန် ကြိုးပမ်းမှုအား မညွှန်ပြပါ။ Null pointer သည် ပုံမှန်အားဖြင့် run-time error သို့မဟုတ် ချက်ချင်း program ပျက်ကျခြင်းဆီသို့ ဦးတည်စေသည်။

ကွန်ပြူတာ ပရိုဂရမ်ရေးဆွဲခြင်းတွင်၊ dereference operator သည် pointer variable ပေါ်တွင် လုပ်ဆောင်သည်။ ၎င်းသည် ကိန်းရှင်၏တန်ဖိုး မှညွှန်ပြထားသည့် မမ်မိုရီရှိတည်နေရာတန်ဖိုးကို ပြန်ပေးသည်။ C++ ပရိုဂရမ်းမင်းဘာသာစကားတွင်၊ လည်ပတ်လုပ်ဆောင်သည့် သတ်မှတ်ချက်ကို ခရေပွင့် (*) ဖြင့် သင်္ကေတပြုထားသည်။

နောက်ဆုံး အတွေးများ

တစ်ခုက Null ကို သုည pointer သို့ ထုတ်ပေးသည့် macro အဖြစ် သတ်မှတ်နိုင်သည်၊ ဆိုလိုသည်မှာ ထို variable အတွက် လိပ်စာ မရှိပါ။ Null သည် C language တွင် macro အဟောင်းကို C++ သို့ လွှဲပြောင်းပေးသည်။

တစ်ချိန်တည်းတွင်၊ Nullptr သည် C++11 တွင် မိတ်ဆက်ထားသော ဗားရှင်းအသစ်ဖြစ်ပြီး Null အတွက် အစားထိုးမှုအဖြစ် ဆိုလိုပါသည်။

ထို့ကြောင့်ယနေ့၊ သင်သည် Nullptr ကိုယခင်ကအစား Null အသုံးပြုမည့်နေရာများတွင် စတင်အသုံးပြုရန် အကြံပြုလိုပါသည်။

    ဤဆောင်းပါး၏ အတိုကောက်ဗားရှင်းကို ကြည့်ရန် ဤနေရာကို နှိပ်ပါ။

    Mary Davis

    Mary Davis သည် အကြောင်းအရာအမျိုးမျိုးအတွက် နှိုင်းယှဉ်ခွဲခြမ်းစိတ်ဖြာမှုတွင် အထူးပြုထားသော စာရေးဆရာ၊ အကြောင်းအရာဖန်တီးသူနှင့် ဝါသနာပါသော သုတေသီဖြစ်သည်။ ဂျာနယ်လစ်ဇင်ဘွဲ့နှင့် နယ်ပယ်တွင် အတွေ့အကြုံငါးနှစ်ကျော်ရှိသော Mary သည် သူမ၏စာဖတ်သူများထံ ဘက်မလိုက်ဘဲ ရိုးရှင်းသော သတင်းအချက်အလက်များကို ပေးပို့ခြင်းအတွက် စိတ်အားထက်သန်ပါသည်။ ငယ်ငယ်ကတည်းက စာရေးရတာကို ဝါသနာပါပြီး အောင်မြင်တဲ့ စာရေးခြင်းလုပ်ငန်းရဲ့ နောက်ကွယ်မှာ တွန်းအားတစ်ခု ဖြစ်လာခဲ့ပါတယ်။ Mary ၏ ရှာဖွေတွေ့ရှိချက်များကို နားလည်ရလွယ်ကူပြီး ဆွဲဆောင်မှုရှိသောပုံစံဖြင့် သုတေသနပြုနိုင်မှုစွမ်းရည်သည် ကမ္ဘာတစ်ဝှမ်းလုံးရှိ စာဖတ်ပရိသတ်များကို သဘောကျစေခဲ့သည်။ သူမ စာမရေးဖြစ်သောအခါ မေရီသည် ခရီးသွားခြင်း၊ စာဖတ်ခြင်းနှင့် မိသားစုနှင့် သူငယ်ချင်းများနှင့် အချိန်ဖြုန်းခြင်းကို နှစ်သက်သည်။