ຄວາມແຕກຕ່າງລະຫວ່າງ Null ແລະ Nullptr ໃນ C++ ແມ່ນຫຍັງ? (ລາຍ​ລະ​ອຽດ​) – ຄວາມ​ແຕກ​ຕ່າງ​ທັງ​ຫມົດ​

 ຄວາມແຕກຕ່າງລະຫວ່າງ Null ແລະ Nullptr ໃນ C++ ແມ່ນຫຍັງ? (ລາຍ​ລະ​ອຽດ​) – ຄວາມ​ແຕກ​ຕ່າງ​ທັງ​ຫມົດ​

Mary Davis

ສາ​ລະ​ບານ

“Nullptr” ຖືກພິຈາລະນາເປັນຄຳຫຼັກທີ່ສະແດງເຖິງສູນເປັນທີ່ຢູ່, ໃນຂະນະທີ່ “Null” ແມ່ນຄ່າສູນເປັນຈຳນວນເຕັມ.

ຖ້າທ່ານເປັນນັກຂຽນໂປລແກລມ, ທ່ານອາດຮູ້ວ່າມັນມີຄວາມສຳຄັນແນວໃດໃນການເຂົ້າໃຈພາສາຄອມພິວເຕີເພື່ອຂຽນລະຫັດໃຫ້ດີຂຶ້ນ. ແຕ່ບາງຄັ້ງ, ມັນສາມາດສັບສົນເລັກນ້ອຍ, ແລະເຈົ້າອາດຈະປະສົມກັນລະຫວ່າງສອງຢ່າງ.

ຄ້າຍຄືກັນແມ່ນກໍລະນີສໍາລັບ Null ແລະ Nullptr ໃນພາສາ C++. ໃຫ້ຂ້ອຍບອກເຈົ້າວ່າສອງຄຳນີ້ໝາຍເຖິງຫຍັງ ແລະໜ້າທີ່ຂອງມັນເພື່ອຊ່ວຍເຈົ້າເຂົ້າໃຈຄວາມແຕກຕ່າງ ແລະການນຳໃຊ້ຂອງມັນ.

ມາເບິ່ງກັນເລີຍ!

ພາສາຄອມພິວເຕີແມ່ນຫຍັງ?

ພາສາຄອມພິວເຕີສາມາດຖືກກໍານົດເປັນລະຫັດ ຫຼື syntax ທີ່ໃຊ້ໃນການຂຽນໂປຼແກຼມ ແລະແອັບພລິເຄຊັນສະເພາະ.

ໂດຍພື້ນຖານແລ້ວ, ມັນເປັນພາສາທີ່ເປັນທາງການທີ່ໃຊ້ໃນການຕິດຕໍ່ສື່ສານກັບຄອມພິວເຕີ. ໃນທາງດຽວກັນ, ປະເທດຕ່າງໆມີພາສາທີ່ແຕກຕ່າງກັນທີ່ຊ່ວຍໃຫ້ຄົນແບ່ງປັນຄວາມຄິດ, ດັ່ງນັ້ນຄອມພິວເຕີ.

ສິ່ງເຫຼົ່ານີ້ຖືກປະດິດເພື່ອເຂົ້າໃຈການຂຽນໂປຼແກຼມຂອງຄອມພິວເຕີ ແລະເຮັດວຽກກັບພວກມັນ. ໂດຍທົ່ວໄປແລ້ວ, ພາສາຄອມພິວເຕີສາມາດແບ່ງອອກເປັນ ສາມປະເພດຕົ້ນຕໍ:

  • ພາສາປະກອບ

    ນີ້ຖືວ່າເປັນພາສາລະດັບຕໍ່າທີ່ໃຊ້ສຳລັບໄມໂຄຣໂປຣເຊສເຊີ. ແລະ​ອຸ​ປະ​ກອນ​ທີ່​ຕັ້ງ​ໂຄງ​ການ​ອື່ນໆ​ຈໍາ​ນວນ​ຫຼາຍ​. ມັນເປັນພາສາລຸ້ນທີສອງ. ມັນເປັນທີ່ຮູ້ຈັກສໍາລັບການຂຽນລະບົບປະຕິບັດການແລະການຂຽນຄໍາຮ້ອງສະຫມັກ desktop ທີ່ແຕກຕ່າງກັນ.

  • ພາສາເຄື່ອງ

    ພາສາກຳເນີດນີ້ເປັນພາສາລຸ້ນທຳອິດ.ມັນຖືກເອີ້ນວ່າລະຫັດເຄື່ອງຈັກຫຼືແມ້ກະທັ້ງລະຫັດວັດຖຸ, ມີຊຸດຂອງຕົວເລກຖານສອງ 0 ແລະ 1. ຕົວເລກເຫຼົ່ານີ້ຖືກເຂົ້າໃຈແລະອ່ານໂດຍລະບົບຄອມພິວເຕີທີ່ຕີຄວາມຫມາຍໃຫ້ພວກເຂົາໄວ.

  • ພາສາລະດັບສູງ

    ອັນນີ້ຖືກສ້າງຕັ້ງຂຶ້ນເນື່ອງຈາກບັນຫາການເຄື່ອນທີ່ໃນພາສາທີ່ເກົ່າກວ່າ. ລະຫັດບໍ່ສາມາດໂອນລະຫັດນີ້ໄດ້ຂຽນໄວ້ໃນເຄື່ອງດຽວ. ພາສານີ້ແມ່ນເຂົ້າໃຈງ່າຍ ແລະຍັງເປັນມິດກັບຜູ້ໃຊ້ຫຼາຍ.

    ເບິ່ງ_ນຳ: ກົດ​ຫມາຍ​ວ່າ​ດ້ວຍ​ການ​ດຶງ​ດູດ​ການ​ທຽບ​ກັບ​ກົດ​ຫມາຍ​ວ່າ​ດ້ວຍ​ກັບ​ຄືນ​ໄປ​ບ່ອນ (ເປັນ​ຫຍັງ​ຈຶ່ງ​ໃຊ້​ທັງ​ສອງ​) – ຄວາມ​ແຕກ​ຕ່າງ​ທັງ​ຫມົດ​

ສ່ວນຂອງພາສາທີ່ຄອມພິວເຕີເຂົ້າໃຈແມ່ນເອີ້ນວ່າ “binary.” ໃນທາງກົງກັນຂ້າມ, ການແປພາສາການຂຽນໂປລແກລມເຂົ້າໄປໃນຖານສອງແມ່ນເອີ້ນວ່າ "ການລວບລວມ."

ໃນສັ້ນ, ພາສາການຂຽນໂປຼແກຼມອະນຸຍາດໃຫ້ຄົນໃຫ້ຄໍາແນະນໍາກັບຄອມພິວເຕີເພື່ອໃຫ້ພວກເຂົາສາມາດອ່ານແລະປະຕິບັດພວກມັນໄດ້. ແຕ່ລະພາສາຄອມພິວເຕີມີລັກສະນະທີ່ແຕກຕ່າງກັນ, ຈາກພາສາ C ໄປຫາ python.

ພາສາເຫຼົ່ານີ້ເຮັດໃຫ້ມັນງ່າຍຂຶ້ນ ແລະໄວຂຶ້ນສໍາລັບຄອມພິວເຕີໃນການປະມວນຜົນຂໍ້ມູນຂະຫນາດໃຫຍ່ ແລະຊັບຊ້ອນຢ່າງມີປະສິດທິພາບຫຼາຍຂຶ້ນ. ມີພາສາການຂຽນໂປລແກລມຈໍານວນຫນຶ່ງໃນໂລກໃນມື້ນີ້. ບາງສ່ວນຂອງເຫຼົ່ານີ້ລວມມີ Java, Python, HTML, C, C++, ແລະ SQL.

ພາສາ C++ ແມ່ນຫຍັງ?

ພາສາ C++ ແມ່ນໜຶ່ງໃນພາສາການຂຽນໂປຣແກຣມທີ່ນິຍົມທີ່ສຸດໃນໂລກ. ທ່ານຈະພົບເຫັນພາສານີ້ຢູ່ໃນລະບົບປະຕິບັດການ, ການໂຕ້ຕອບຜູ້ໃຊ້ແບບກາຟິກ, ແລະລະບົບຝັງຢູ່ໃນໂລກມື້ນີ້.

ມັນເປັນພາສາຂ້າມແພລດຟອມທີ່ໃຊ້ເພື່ອສ້າງແອັບພລິເຄຊັນທີ່ມີປະສິດທິພາບສູງ. ພາສາ C++ ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນໂດຍ Bjarne Stroustrup, ຜູ້ທີ່ຮັບຜິດຊອບໃນການສ້າງພາສາ C. ດັ່ງທີ່ເຫັນໄດ້ຊັດເຈນກັບຊື່ຂອງມັນ, ພາສານີ້ແມ່ນສ່ວນຂະຫຍາຍຂອງພາສາ C.

ມັນອະນຸຍາດໃຫ້ນັກຂຽນໂປລແກລມສາມາດຄວບຄຸມຊັບພະຍາກອນ ແລະໜ່ວຍຄວາມຈຳຂອງລະບົບໄດ້ສູງ. ເຈົ້າອາດຄິດວ່າມັນອັບເດດແລ້ວ. ຢ່າງໃດກໍຕາມ, ພາສາໄດ້ຖືກປັບປຸງສາມເທື່ອໃນປີ 2011, 2014, ແລະ 2017. ມັນມາຈາກ C++11, C++14, ໄປເປັນ C++17.

ຈົນເຖິງທຸກມື້ນີ້, ພາສາ C++ ໄດ້ຮັບການຍົກຍ້ອງເປັນຢ່າງຍິ່ງ ເນື່ອງຈາກການເຄື່ອນທີ່ທີ່ສຳຄັນຂອງມັນ, ເຮັດໃຫ້ຜູ້ສ້າງສາມາດພັດທະນາໂປຣແກຣມທີ່ສາມາດເຮັດວຽກໄດ້ຢ່າງມີປະສິດທິພາບໃນລະບົບປະຕິບັດການ ຫຼື ແພລດຟອມຕ່າງໆ.

ເປັນຫຍັງຫຼາຍຄົນຈຶ່ງໃຊ້ C++?

ພາສານີ້ເປັນພາສາທີ່ແຜ່ຫຼາຍ ເພາະວ່າມັນເປັນພາສາການຂຽນໂປຣແກຣມແບບວັດຖຸທີ່ໃຫ້ໂຄງສ້າງທີ່ຊັດເຈນແກ່ບັນດາໂຄງການ ແລະຊ່ວຍຫຼຸດຄ່າໃຊ້ຈ່າຍໃນການພັດທະນາໂດຍການອະນຸຍາດໃຫ້ລະຫັດຖືກນໍາມາໃຊ້ຄືນ.

ເນື່ອງຈາກປະສິດທິພາບສູງຂອງມັນ, ພາສານີ້ຖືກໃຊ້ເພື່ອ ພັດທະນາເກມ, ແອັບເດັສທັອບ, ບຣາວເຊີ ແລະ ລະບົບປະຕິບັດການ. ຄຸນສົມບັດອີກອັນໜຶ່ງຂອງພາສານີ້ແມ່ນວ່າມັນເປັນແບບພົກພາ ແລະອະນຸຍາດໃຫ້ສ້າງແອັບພລິເຄຊັນທີ່ເຂົາເຈົ້າສາມາດປັບຕົວເຂົ້າກັບຫຼາຍແພລດຟອມໄດ້.

ເຖິງແມ່ນວ່າມັນເປັນທີ່ຮູ້ຈັກເປັນພາສາທີ່ທ້າທາຍທີ່ສຸດທີ່ຈະຮຽນຮູ້, ແຕ່ມັນມີຂໍ້ດີຂອງມັນ. ມັນເປັນການທ້າທາຍທີ່ຈະເຂົ້າໃຈຫຼາຍກ່ວາຄົນອື່ນເນື່ອງຈາກພາສາຫຼາຍ paradigm ແລະຫນ້າທີ່ຂອງຕົນ syntax ກ້າວຫນ້າທາງດ້ານຫຼາຍ.

ຖ້າທ່ານສາມາດຮຽນຮູ້ພາສາ C++ ໄດ້, ມັນຈະກາຍເປັນຫຼາຍທີ່ຈະຮຽນຮູ້ພາສາການຂຽນໂປລແກລມອື່ນຫຼັງຈາກອັນນີ້, ເຊັ່ນ Java ແລະ Python.

ໃນສັ້ນ, C ++ ແມ່ນຈຸດປະສົງທົ່ວໄປ, ເປັນພາສາການຂຽນໂປຼແກຼມລະດັບກາງທີ່ເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະຂຽນລະຫັດໃນຮູບແບບ "C." ໃນບາງກໍລະນີ, ທ່ານ. ສາ​ມາດ​ເຮັດ​ການ​ເຂົ້າ​ລະ​ຫັດ​ໃນ​ຮູບ​ແບບ​ໃດ​ຫນຶ່ງ​, ເຮັດ​ໃຫ້ C++ ເປັນ​ຕົວ​ຢ່າງ​ຂອງ​ພາ​ສາ​ປະ​ສົມ ​.

ພາສາ C ແລະ C++ ມີລັກສະນະ Null, ຕົວຊີ້ Null, ແລະ Null statement (ສະແດງໂດຍເຄື່ອງໝາຍຈຸດ (;)).

Null ແມ່ນຫຍັງ. C++?

Null ຖືກ​ຖື​ວ່າ​ເປັນ​ຕົວ​ຄົງ​ທີ່​ໃນ​ຕົວ​ທີ່​ຖື​ຄ່າ​ສູນ. ມັນເປັນທັງຄ່າຄົງທີ່ ແລະຕົວຊີ້ໃນການຂຽນໂປຣແກຣມຄອມພິວເຕີ.

ໃນຂະນະທີ່ຢູ່ໃນຖານຂໍ້ມູນ, ສູນແມ່ນຄ່າ. ຄ່າ Null ຊີ້ບອກວ່າບໍ່ມີຄ່າ. ເມື່ອ Null ຖືກໃຊ້ເປັນຄ່າ, ມັນບໍ່ແມ່ນສະຖານທີ່ຄວາມຊົງຈໍາ.

ນອກຈາກນັ້ນ, ໂດຍບໍ່ມີຕົວອັກສອນ Null, ສະຕຣິງຈະບໍ່ສາມາດສິ້ນສຸດໄດ້ຢ່າງເໝາະສົມ, ເຊິ່ງກໍ່ໃຫ້ເກີດບັນຫາຫຼາຍຢ່າງ. ຕົວອັກສອນ Null ມີຫຼາຍການນໍາໃຊ້ທີ່ແຕກຕ່າງກັນໃນພາສາການຂຽນໂປຼແກຼມທີ່ແຕກຕ່າງກັນ.

ຄໍາຖາມແມ່ນວິທີທີ່ທ່ານຈະຂຽນ Null ໃນ C++. ດີ, ຖ້າຄ່າຄົງທີ່ Null ມີປະເພດຈໍານວນເຕັມ, ຫຼັງຈາກນັ້ນມັນສາມາດຖືກປ່ຽນເປັນຄ່າຂອງການຈັດລຽງ.

ຕົວຢ່າງ, ຕົວອັກສອນນີ້, “Null,” ຖືກໃຊ້ໃນ Structured Query Language (SQL) ເປັນເຄື່ອງໝາຍສະເພາະເພື່ອຊີ້ບອກວ່າຄ່າຂໍ້ມູນບໍ່ມີຢູ່ໃນຖານຂໍ້ມູນ. ຖານຂໍ້ມູນທີ່ກ່ຽວຂ້ອງແມ່ນເມື່ອຄ່າໃນຖັນສະເພາະໃດນຶ່ງບໍ່ຮູ້ ຫຼືຂາດຫາຍໄປ.

ນອກຈາກນັ້ນ, ໃນ C#,ພາສາການຂຽນໂປລແກລມ, Null ຫຍໍ້ມາຈາກ "ບໍ່ມີວັດຖຸ." ໃນພາສານີ້, ມັນບໍ່ຄືກັບສູນຄົງທີ່.

ແນວໃດກໍ່ຕາມໃນພາສາ C++, ຕົວອັກສອນ Null ແມ່ນຄ່າຕົວຊີ້ທີ່ສະຫງວນສະເພາະທີ່ບໍ່ຊີ້ໄປຫາວັດຖຸຂໍ້ມູນທີ່ຖືກຕ້ອງໃດໆ. ນອກຈາກນີ້, ໃນພາສາ C ++, ຟັງຊັນ Null ແມ່ນພຽງແຕ່ວິທີການກໍານົດຄ່າໃຫ້ກັບຕົວແປຕົວຊີ້.

ຄວາມແຕກຕ່າງລະຫວ່າງ Null ແລະ Zero

ເນື່ອງຈາກ Null ຖືຄ່າສູນ, ຄົນເຮົາມັກຈະສັບສົນວ່າອັນໃດຈະແຕກຕ່າງກັນລະຫວ່າງ Null ແລະ Zero.

Null ໃນ C++ ເປັນພຽງມະຫາພາກທີ່ກຳນົດຄ່າຄົງທີ່ຂອງຕົວຊີ້ Null ແລະໂດຍທົ່ວໄປແລ້ວແມ່ນຄ່າສູນ. ຢ່າງໃດກໍຕາມ, Null ໃຫ້ທ່ານມີມູນຄ່າທີ່ສໍາຄັນທີ່ເປັນຕົວແທນຂອງຕົວແປບໍ່ມີນ້ໍາຫນັກໃດໆ.

ແຕ່ວ່າ, ສູນແມ່ນຄ່າຂອງມັນເອງ, ແລະນັ້ນຄືວິທີທີ່ມັນຈະຢູ່ຕະຫຼອດການໄຫຼເຂົ້າ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, Zero ແມ່ນຕົວເລກຂອງມັນເອງ, ໃນຂະນະທີ່ Null ຫມາຍຄວາມວ່າຫວ່າງເປົ່າ.

ທ່ານສາມາດຄິດວ່າມັນເປັນ ພື້ນທີ່ສະເພາະສໍາລັບຕູ້ເຢັນ . ຖ້າຕູ້ເຢັນຢູ່ທີ່ນັ້ນແຕ່ມັນບໍ່ມີອັນໃດອັນໜຶ່ງ, ຄ່າແມ່ນສູນ. ໃນທາງກົງກັນຂ້າມ, ຖ້າພື້ນທີ່ສະເພາະສໍາລັບຕູ້ເຢັນບໍ່ມີຕູ້ເຢັນທັງຫມົດ, ມູນຄ່າແມ່ນ Null.

Nullptr ຫມາຍຄວາມວ່າແນວໃດໃນ C++? ເຈົ້າຈະໃຊ້ຄ່າຕົວຊີ້ Null ເພື່ອຊີ້ບອກວ່າຕົວຈັບວັດຖຸ, ຕົວຊີ້ພາຍໃນ, ຫຼືປະເພດຕົວຊີ້ພື້ນເມືອງບໍ່ໄດ້ຊີ້ໄປຫາວັດຖຸ.

ມີພຽງຕົວຊີ້ເທົ່ານັ້ນທີ່ສາມາດຖືສະຖານທີ່ຄວາມຈຳໄດ້, ແລະຄ່າຕ່າງໆບໍ່ສາມາດ.

ເບິ່ງ_ນຳ: ຄວາມແຕກຕ່າງລະຫວ່າງ Final Cut Pro ແລະ Final Cut Pro X ແມ່ນຫຍັງ? - ຄວາມ​ແຕກ​ຕ່າງ​ທັງ​ຫມົດ​

ທຳອິດ, ພວກເຮົາຕ້ອງເຂົ້າໃຈວ່າຕົວຊີ້ແມ່ນຫຍັງ. ມັນ​ເປັນ​ຕົວ​ປ່ຽນ​ທີ່​ຖື​ສະ​ຖານ​ທີ່​ຄວາມ​ຊົງ​ຈໍາ​. ຖ້າທ່ານບໍ່ມີທີ່ຢູ່ທີ່ທ່ານສາມາດກຳນົດໃຫ້ຕົວຊີ້, ທ່ານສາມາດໃຊ້ Null. ຄ່າ Null ຫຼີກລ້ຽງການຮົ່ວໄຫຼຂອງຫນ່ວຍຄວາມຈໍາ ແລະການຂັດຂ້ອງໃນແອັບພລິເຄຊັນທີ່ມີຕົວຊີ້.

ນອກຈາກນັ້ນ, ເພື່ອກວດເບິ່ງ Nullptr, ທ່ານສາມາດນໍາໃຊ້ຄ່າ pointer ເປັນເງື່ອນໄຂເພື່ອກວດເບິ່ງວ່າ pointer ເປັນ Null ໃນ C++. ເມື່ອໃຊ້ໃນການສະແດງອອກຢ່າງມີເຫດຜົນ, ຕົວຊີ້ Null ຖືກປະເມີນວ່າເປັນຜິດ.

ເພາະສະນັ້ນ, ຄົນເຮົາສາມາດວາງຕົວຊີ້ໃຫ້ຢູ່ໃນເງື່ອນໄຂ if statement ເພື່ອກວດເບິ່ງວ່າມັນເປັນ Null. ໃນສັ້ນ, Nullptr ແມ່ນຄໍາທີ່ໃຊ້ເປັນຕົວຊີ້ທີ່ສະແດງເຖິງ Zero ເປັນທີ່ຢູ່.

ຄຳຖາມທົ່ວໄປແມ່ນວ່າເປັນຫຍັງ Nullptr ຈຶ່ງຕ້ອງການເມື່ອມີຕົວອັກສອນ Null ຢູ່ແລ້ວ. ນັ້ນແມ່ນຍ້ອນວ່າ, ໃນ C ++ 11, Nullptr ແມ່ນຕົວຊີ້ Null ຄົງທີ່, ແລະມັນຕ້ອງການເພາະວ່າມັນປັບປຸງຄວາມປອດໄພຂອງປະເພດ.

Null ແລະ Nullptr ຄືກັນບໍ?

ບໍ່. ເຂົາເຈົ້າບໍ່ແມ່ນ. ກວດເບິ່ງຕາຕະລາງລຸ່ມນີ້ເພື່ອຮູ້ຄວາມແຕກຕ່າງຂອງພວກມັນກ່ອນ.

Nullptr Null
ຄຳທີ່ສະແດງເຖິງສູນ ຄ່າຂອງສູນ
ສະແດງເຖິງສູນເປັນທີ່ຢູ່ ສະແດງຄ່າເປັນ ຈຳນວນເຕັມ
ຟັງຊັນໃໝ່ກວ່າ ແລະແນະນຳ ເກົ່າກວ່າ ແລະຟັງຊັນທີ່ຖືກຍົກເລີກ
ປະເພດຕົວຊີ້ແທ້ ຖືກນຳໃຊ້ເປັນນາມແຝງສຳລັບຈຳນວນເຕັມ

ສູນຄົງທີ່

ຈື່ຄຳສັບເພື່ອບໍ່ໃຫ້ສັບສົນ.

Null ຖືກພິຈາລະນາເປັນ “manifest constant” ທີ່ຈິງແລ້ວເປັນຈຳນວນເຕັມ ແລະສາມາດຖືກມອບໝາຍໃຫ້ຕົວຊີ້ໄດ້ເນື່ອງຈາກການແປງແບບ implicit.

ໃນຂະນະທີ່ Nullptr ເປັນຄໍາສໍາຄັນທີ່ສະແດງເຖິງຄ່າຂອງປະເພດທີ່ກໍານົດເອງ, ແລະມັນສາມາດປ່ຽນເປັນຕົວຊີ້ແຕ່ບໍ່ແມ່ນຈໍານວນເຕັມ. Nullptr ໂດຍທົ່ວໄປແມ່ນຕົວຊີ້ Null ແລະຈະເປັນອັນໜຶ່ງສະເໝີ. ຖ້າທ່ານພະຍາຍາມກໍານົດມັນໃຫ້ກັບຈໍານວນເຕັມ, ມັນຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດ.

ຫາກທ່ານຍັງບໍ່ເຂົ້າໃຈ, ໃຫ້ເບິ່ງວິດີໂອນີ້.

ວິດີໂອນີ້ອະທິບາຍຢ່າງລະອຽດກ່ຽວກັບອັນໃດ ແລະເວລາໃດທີ່ທ່ານຄວນໃຊ້ Null ຫຼື nullptr—ລະຫັດພ້ອມກັບ streamer.

ທ່ານສາມາດໃຊ້ Nullptr ແທນ Null ໄດ້ບໍ?

ແມ່ນແລ້ວ . ໃນຂະນະທີ່ພວກມັນບໍ່ຄືກັນ, ມີວິທີໃຫ້ທ່ານໃຊ້ Nullptr ແທນ Null.

ນອກຈາກນັ້ນ, Nullptr ແມ່ນຄໍາສໍາຄັນໃຫມ່ໃນ C++ ທີ່ສາມາດທົດແທນໄດ້. null. Nullptr ໃຫ້ຄ່າຕົວຊີ້ປະເພດທີ່ປອດໄພທີ່ສະແດງເຖິງຕົວຊີ້ເປົ່າ.

ໃນຂະນະທີ່ບາງຄົນຫຼີກລ່ຽງການໃຊ້ Null ເພາະວ່າມັນບໍ່ເໝາະສົມ , ມັນບໍ່ຄ່ອຍມີຢູ່ໃນປັດຈຸບັນເພາະວ່າຜູ້ເຂົ້າລະຫັດຫຼາຍຄົນປະຕິບັດຕາມຄຳແນະນຳໃຫ້ໃຊ້ Nullptr ແທນ Null.

ນອກຈາກນັ້ນ, ທ່ານສາມາດນໍາໃຊ້ຄໍາສໍາຄັນ Nullptr ເພື່ອທົດສອບວ່າຕົວຊີ້ຫຼືຕົວຈັດການການອ້າງອີງແມ່ນ Null ກ່ອນທີ່ຈະໃຊ້ຄໍາອ້າງອີງ.

ເຈົ້າສາມາດປະຕິເສດ Nullptr ໄດ້ບໍ?

ທ່ານສາມາດກຳນົດ nullptr ໄດ້. ຖ້າທ່ານເຮັດແນວນັ້ນ, ທ່ານສາມາດເຂົ້າເຖິງຄ່າທີ່ຢູ່ທີ່ຕົວຊີ້ຊີ້ໄປ.

ໃນພາສາຄອມພິວເຕີ, ການອ້າງອິງແມ່ນໃຊ້ເພື່ອເຂົ້າເຖິງ ຫຼືຈັດການຂໍ້ມູນທີ່ບັນຈຸຢູ່ໃນໜ່ວຍຄວາມຈຳທີ່ຊີ້ໄປໂດຍຕົວຊີ້.

ຢ່າງໃດກໍຕາມ, ທ່ານບໍ່ສາມາດເຮັດອັນນີ້ໃນພາສາ C . ຕົວຊີ້ Null ບໍ່ໄດ້ຊີ້ໄປຫາວັດຖຸທີ່ມີຄວາມຫມາຍ, ຄວາມພະຍາຍາມເພື່ອ dereference, ເຊິ່ງແມ່ນການເຂົ້າເຖິງຂໍ້ມູນທີ່ເກັບໄວ້. ຕົວຊີ້ Null ໂດຍປົກກະຕິຈະເຮັດໃຫ້ເກີດຄວາມຜິດພາດໃນເວລາແລ່ນ ຫຼືໂປຣແກຣມຂັດຂ້ອງໃນທັນທີ.

ໃນການຂຽນໂປລແກລມຄອມພິວເຕີ, ຕົວປະຕິບັດການ dereference ແມ່ນສິ່ງທີ່ເຮັດວຽກຢູ່ໃນຕົວແປຕົວຊີ້. ມັນສົ່ງກັບ ຄ່າສະຖານທີ່ໃນຫນ່ວຍຄວາມຈໍາທີ່ຊີ້ໄປໂດຍຄ່າຂອງຕົວແປ . ໃນພາສາການຂຽນໂປລແກລມ C ++, ຄວາມຕັ້ງໃຈທີ່ດໍາເນີນການແມ່ນສັນຍາລັກດ້ວຍເຄື່ອງໝາຍດາວ (*).

ຄວາມຄິດສຸດທ້າຍ

ຫນຶ່ງສາມາດກໍານົດ Null ເປັນມະຫາພາກທີ່ໃຫ້ຜົນກັບຕົວຊີ້ສູນ, ຊຶ່ງຫມາຍຄວາມວ່າບໍ່ມີທີ່ຢູ່ສໍາລັບຕົວແປນັ້ນ. Null ເປັນ macro ເກົ່າໃນພາສາ C ທີ່ຖືກສົ່ງກັບ C++.

ໃນຂະນະດຽວກັນ, Nullptr ແມ່ນເວີຊັນໃໝ່ກວ່າທີ່ນຳສະເໜີໃນ C++11 ແລະໝາຍເຖິງການປ່ຽນແທນ Null.

ດັ່ງນັ້ນ, ມື້ນີ້, ມັນແນະນໍາໃຫ້ທ່ານເລີ່ມໃຊ້ Nullptr ໃນສະຖານທີ່ທີ່ທ່ານຈະໃຊ້ Null ແທນໃນອະດີດຫຼືແມ້ກະທັ້ງການຂຽນນີ້.

ຄລິກທີ່ນີ້ເພື່ອເບິ່ງສະບັບຫຍໍ້ຂອງບົດຄວາມນີ້.

Mary Davis

Mary Davis ເປັນນັກຂຽນ, ຜູ້ສ້າງເນື້ອຫາ, ແລະນັກຄົ້ນຄວ້າທີ່ມັກຄວາມຊ່ຽວຊານໃນການວິເຄາະການປຽບທຽບໃນຫົວຂໍ້ຕ່າງໆ. ດ້ວຍລະດັບປະລິນຍາຕີດ້ານວາລະສານແລະປະສົບການຫຼາຍກວ່າຫ້າປີໃນຂະແຫນງການ, Mary ມີຄວາມກະຕືລືລົ້ນໃນການສະຫນອງຂໍ້ມູນຂ່າວສານທີ່ບໍ່ລໍາອຽງແລະກົງໄປກົງມາໃຫ້ກັບຜູ້ອ່ານຂອງນາງ. ຄວາມຮັກຂອງນາງສໍາລັບການຂຽນໄດ້ເລີ່ມຕົ້ນໃນເວລາທີ່ນາງຍັງອ່ອນແລະໄດ້ເປັນແຮງຂັບເຄື່ອນທາງຫລັງຂອງການເຮັດວຽກສົບຜົນສໍາເລັດຂອງນາງໃນການຂຽນ. ຄວາມສາມາດຂອງ Mary ໃນການຄົ້ນຄວ້າແລະນໍາສະເຫນີຜົນການຄົ້ນພົບໃນຮູບແບບທີ່ເຂົ້າໃຈງ່າຍແລະມີສ່ວນຮ່ວມໄດ້ endeared ຂອງນາງກັບຜູ້ອ່ານທັງຫມົດໃນທົ່ວໂລກ. ໃນເວລາທີ່ນາງບໍ່ໄດ້ຂຽນ, Mary ມີຄວາມສຸກການເດີນທາງ, ອ່ານ, ແລະໃຊ້ເວລາກັບຄອບຄົວແລະຫມູ່ເພື່ອນ.