<kbd id="daqct"></kbd>

  • <nav id="daqct"></nav>
    <wbr id="daqct"><pre id="daqct"></pre></wbr>
    <wbr id="daqct"></wbr>
    <form id="daqct"><th id="daqct"></th></form>
    更多課程 選擇中心

    C/C++培訓
    達內IT學院

    400-111-8989

    C++中的引用和指針

    • 發布:C++培訓
    • 來源:AI算法愛好者
    • 時間:2019-10-17 14:42

    引用

    引用: 為對象起一個別名。必須初始化,程序會把引用和它的初始值綁定在一起,此后無法再令引用重新綁定到兩外一個對象,因此引用必須初始化。

    對const的引用:即常說的常量引用,對常量的引用不能被用作修改它所綁定的對象。

    const int ci = 1024;
    
    const int &r1 = ci;// 正確,引用及其對應的對象都是常量
    
    r1 = 42;// 錯誤:r1是對常量的引用
    
    int &r2 = ci;// 錯誤:試圖讓一個非常量引用指向一個常量對象。

    對const的引用可能引用一個并非const的對象:常量引用只是對引用可參與的操作做出了限定,對引用的對象本身是不是一個常量并未限定。

    指針

    空指針:不指向任何對象,如下方法用來初始化一個指針:

    int *p1 = nullptr;
    
    int *p2 = 0;
    
    int *p3 = NULL;

    推薦nullptr,它可以被轉換成任意其他的指針類型。

    void*指針:一種特殊的指針類型,用于存放任意對象的地址。利用它能做的事兒比較有限:拿它和別的指針比較、作為函數的輸入或輸出,或者賦值給另外一個void*指針。不能直接操作void*指針所指的對象,因為我們并不知道這個對象是什么類型,也就無法確定能在這個對象上做哪些操作。

    指向常量的指針:和常量引用一樣,指向常量的指針也沒有規定其所指對象必須是一個常量。僅僅要求不能通過該指針改變對象的值,而沒有規定那個對象的值不能通過其他途徑改變。

    這樣想:所謂指向常量的指針或引用,不過是指針或引用“自以為是”罷了,它們覺得自己指向了常量,所以自覺的不去改變所指對象的值。

    指向常量的指針:不能改變其所指對象的值。要想存放常量對象的地址,只能使用指向常量的指針。

    const double pi = 3.14; // pi是個常量,它的值不能改變
    
    double *ptr = π // 錯誤:ptr是一個普通指針
    
    const double *cptr = π // 正確:cptr可以指向一個雙精度常量
    
    *cptr = 42; // 錯誤:不能給*cptr賦值

    const指針:必須初始化,且之后不能改變。把*放在const前面來說明指針是一個常量。這個含義是說不變的是指針本身的值,而非指向的那個值。

    int errNumb = 0;
    
    int *const curErr = &errNumb; // currErr將一直指向errNumb
    
    const double pi = 3.14;
    
    const double *const pip = π // pip是一個指向常量對象的常量指針

    頂層const與底層const:指針本身是一個對象,它可以指向另外一個對象。因此指針本身是不是常量以及指針所指的是不是一個常量就是兩個相互獨立的問題。所以有了頂層const和底層const的概念。

    頂層const:表示指針本身是一個常量<br>

    底層const:表示指針所指的對象是一個常量

    免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:C語言程序程序設計—數組
    下一篇:用C++編寫貪吃蛇

    C語言創建windows窗口實例

    C++回調函數是什么?

    C++ shared_ptr和動態數組

    C語言有哪些關鍵詞,C語言44個關鍵詞大全

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    欧美三级片,白洁外传,第四色播日韩AV第一页,啪啪免费观看大全av 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>