乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      [原創(chuàng)] 程序員面試寶典:第七章 指針與引用

       落塵伊人 2019-03-15

      1. 指針 vs. 引用

      • 非空區(qū)別:    引用不能為 NULL
      • 合法性:        引用永遠合法
      • 可修改區(qū)別:引用的指向只能初始化,不能修改
      • 存儲空間區(qū)別:引用不是變量,本身并不占用任何存儲空間
      • 應用區(qū)別:    根據(jù)上述特點,決定應用場景
      2. 指針作為函數(shù)參數(shù):void fun ( char * p);fun(str);
      • *p 只是str的副本,雖然與str指向相同,可以修改str指向地方的內(nèi)容,但不能修改str的指向!函數(shù)返回時,*p消失??梢杂靡韵路椒ǎ淖僺tr的指向。
        • void GetMemory ( char ** p)
        • char * GetMemory ( char * p)
       
      3. 數(shù)組與指向常量的指針:
      • char a[] = "abc"    局部數(shù)組
      • char *a = "abc"    局部指針,指向數(shù)據(jù)區(qū)字符串常量,這個常量不可修改!
      4. 指針相減結(jié)果為“元素個數(shù)”,而不是真正地址空間的差:
      • int *p, *q; q-p; 相當于 (p指向的地址)-(q指向的地址)/ sizeof(int)
      • 不同類型的指針不能相減!
      5. 類中的函數(shù)對于類中變量的引用,采用的是相對于類的偏移地址的方式(并不是通過變量名匹配的)。
       
      6. 函數(shù)指針: void ( * fun) ( void )
      • Int ( * ( *F ) (int, int) ) ( int )
        • F 指向函數(shù) A
        • A:兩個int參數(shù),返回一個函數(shù)指針B
        • B:指向函數(shù)C
        • C:一個int參數(shù),int返回值
      7. 指針數(shù)組與數(shù)組指針:
      • 指針數(shù)組:int *p[]    一個數(shù)組,里邊的元素都是指針
      • 數(shù)組指針:int (*p)[]    一個指針,指向一個數(shù)組,指針加1,則指向下一個數(shù)組(移動整個數(shù)組長度)!
      • 主要看p和[]結(jié)合(是數(shù)組),還是與*結(jié)合(是指針),默認[]有優(yōu)勢
      • float (**def)[10]:def 指向(指向 float[10] 的指針)
      • float *(*def)[10]:def 指向(float * [10] 數(shù)組)
      8. 數(shù)組名就是數(shù)組首地址(并且是常量,不可改變??!),對數(shù)組名取地址,得到的是數(shù)組指針
      • int a[10];    int *ptr = (int *)(&a + 1);    ptr指向a中最后一個元素之后
      9. delect p;    釋放p所指向的內(nèi)存區(qū)域,但是沒有改變p的指向??!需要p = NULL;    空指針
       
       
      10.  兩種動態(tài)內(nèi)存分配方式:
      • malloc / free:分配內(nèi)存的函數(shù),需要給出具體分配內(nèi)存的大小,不運行構造/析構函數(shù)
      • new / delete:C++運算符,分配內(nèi)存,自動計算分配內(nèi)存的大小,且運行相應的構造/析構函數(shù)
       
      11. 句柄:32位 int,windows 對象物理地址的索引,指向指針的指針。
      • 句柄地址(穩(wěn)定)-> 記載著對象在內(nèi)存中的地址 -> 對象在內(nèi)存中的地址(不穩(wěn)定)-> 實際對象
      12. 管理指針成員 (類中的指針成員的復制控制,解決多個類對象共享一個指針的問題)
      • 具有指針成員的對象一般需要定義復制控制成員
      • 常規(guī)指針:共享,無法防止懸垂
      • 智能指針:共享,通過計數(shù)類,記錄有多少對象共享一個指針(不能用static,因為不同對象(如基類和子類)可以有相同指針),在最后一個共享對象消除之后,計數(shù)類負責指針的撤銷。
       

       
      • 值型類:將指針成員所指的基礎值的副本給每個對象。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多