<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C++ 中引用和指針的關系

            時間:2025-04-01 00:09:42 C語言 我要投稿
            • 相關推薦

            C++ 中引用和指針的關系

              C語言傳遞參數均是以值傳遞,另外也可以傳遞指針。下面是小編分享的C++ 中引用和指針的關系,一起來看一下吧。

              1.引用在定義時必須初始化,指針沒有要求

              int &rNum; //未初始化不能通過編譯

              int *pNum; //可以

              2. 一旦一個引用被初始化為指向一個對象,就不能再指向

              其他對象,而指針可以在任何時候指向任何一個同類型對象

              int iNum = 10;

              int iNum2 = 20;

              int &rNum = iNum;

              &rNum = iNum2; //不能通過

              3. 沒有NULL引用,但有NULL指針。

              int *pNum = NULL; //可以

              int &rNum = NULL;//不可以

              4. 在sizeof中含義不同:引用結果為引用類型的大小,但指針始終是地址空間所占字節個數。

              char c1 = 1;

              char* pc = &c1;

              char& rc = c1;

              cout<<sizeof(pc)<<sizeof(rc)<<endl; //輸出4 1

              5. 引用自加改變變量的內容,指針自加改變了指針指向

              rNum++; //指針的內容改變

              pNum++; //指針改變

              6. 有多級指針,但是沒有多級引用

              int &&rNum ; //不可以

              int **ppNum; //可以

              7.引用比指針使用起來相對更安全

              指針和引用的底層實現

              int Num = 10;

              012213BE mov     dword ptr [Num],0Ah

              int &rNum = Num;

              012213C5 lea     eax,[Num]

              012213C8 mov     dword ptr [rNum],eax

              int *pNum =&Num;

              012213CB lea     eax,[Num]

              012213CE mov     dword ptr [pNum],eax

              底層的實現方式相同,都是按照指針的方式來實現的


            【C++ 中引用和指針的關系】相關文章:

            C++ 中指針和引用區別有哪些09-05

            C++ this指針詳解07-04

            C++返回對象和返回引用05-31

            關于C和C++函數的相互引用09-06

            c++ const引用與非const引用09-15

            C和C++的關系解說10-12

            c++函數指針使用示例07-26

            C++函數指針學習教程10-01

            Java中對象和引用的具體區別05-18

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看