亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++實現(xiàn)指針空值的示例代碼

 更新時間:2023年06月26日 10:16:51   作者:紫夢_0713  
本文主要介紹了C++實現(xiàn)指針空值的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在良好的C/C++編程習慣中,聲明一個變量時最好給該變量一個合適的初始值,否則可能會出現(xiàn)不可預料的錯誤,比如未初始化的指針。如果一個指針沒有合法的指向,我們基本都是按照如下方式對其進行初始化:

void TestPtr()
{
	int* p1 = NULL;
	int* p2 = 0;
	// ……
}

但是在C++中,我們推薦使用它:

int* p3 = nullptr;

前者中,NULL和0在C++其實是等價的,都不規(guī)范。NULL實際是一個宏,在傳統(tǒng)的C頭文件(stddef.h)中,可以看到如下代碼:

#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif

如果沒有定義宏,如果在cplusplus里,NULL被定義成0??梢钥吹?,NULL可能被定義為字面常量0,或者被定義為無類型指針(void*)的常量。不論采取何種定義,在使用空值的指針時,都不可避免的會遇到一些麻煩,比如:

程序本意是想通過f(NULL)調用指針版本的f(int*)函數,但是由于NULL被定義成0,因此與程序的初衷相悖。

在C++98中,字面常量0既可以是一個整形數字,也可以是無類型的指針(void*)常量,但是編譯器默認情況下將其看成是一個整形常量,如果要將其按照指針方式來使用,必須對其進行強轉(void *)0。

注意:

  • 在使用nullptr表示指針空值時,不需要包含頭文件,因為nullptr是C++11作為新關鍵字引入的。
  • 在C++11中,sizeof(nullptr) 與 sizeof((void*)0)所占的字節(jié)數相同。
  • 為了提高代碼的健壯性,在后續(xù)表示指針空值時建議最好使用nullptr。

到此這篇關于C++實現(xiàn)指針空值的示例代碼的文章就介紹到這了,更多相關C++ 指針空值內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • unsigned中無符號是什么詳析

    unsigned中無符號是什么詳析

    unsigned為“無符號”的意思,unsigned,zerofill既為非負數,用此類型可以增加數據長度,下面這篇文章主要給大家介紹了關于unsigned中無符號是什么的相關資料,需要的朋友可以參考下
    2023-01-01
  • C語言實現(xiàn)宿舍管理課程設計

    C語言實現(xiàn)宿舍管理課程設計

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)宿舍管理課程設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言數學問題與簡單DP01背包問題詳解

    C語言數學問題與簡單DP01背包問題詳解

    這篇文章主要介紹了C語言數學問題買不到的數目、螞蟻感冒、飲料換購與簡單DP01背包問題的解決,屬于藍橋杯省賽中的題目,感興趣的同學來看看吧
    2022-04-04
  • C++ 基數排序的實現(xiàn)實例代碼

    C++ 基數排序的實現(xiàn)實例代碼

    這篇文章主要介紹了C++ 基數排序的實現(xiàn)實例代碼的相關資料,這里附有實例代碼,幫助大家學習理解,需要的朋友可以參考下
    2016-11-11
  • C++超詳細講解標準庫

    C++超詳細講解標準庫

    C++強大的功能來源于其豐富的類庫及庫函數資源。C++標準庫(C++ Standard Library, 亦可稱作,C++標準程序庫)的內容總共在50個標準頭文件中定義。在C++開發(fā)中,要盡可能地利用標準庫完成
    2022-06-06
  • C++ 計數排序實例詳解

    C++ 計數排序實例詳解

    這篇文章主要介紹了C++ 計數排序實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • 一波C語言二元查找樹算法題目解答實例匯總

    一波C語言二元查找樹算法題目解答實例匯總

    這篇文章主要介紹了一波C語言二元查找樹算法題目解答實例匯總,包括按層次遍歷和轉換為鏡像等基本算法題目,需要的朋友可以參考下
    2016-03-03
  • C++圖文并茂輕松進階面向對象

    C++圖文并茂輕松進階面向對象

    面向對象中對象是指具體的某一個事物,這些事物的抽象就是類,類中包含數據(成員變量)和動作(成員方法),接下來讓我們一起詳細了解
    2022-04-04
  • Qt+QListWidget實現(xiàn)氣泡聊天界面(附源碼)

    Qt+QListWidget實現(xiàn)氣泡聊天界面(附源碼)

    由于最近的項目需要,做了些相關IM的工作。所以聊天框也是必不可少的一部分。本文以QListWidget+QPainter繪制的Item做了一個Demo。該Demo只是做一個示例,感興趣的可以了解一下
    2022-12-12
  • C++利用VLC庫制作音視頻的示例代碼

    C++利用VLC庫制作音視頻的示例代碼

    這篇文章主要為大家詳細介紹了C++如何利用VLC庫制作音視頻,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2024-01-01

最新評論