C++基礎中易混淆點

前言:每每遇到這幾個名詞,就彷彿置身於一陣迷霧之中,不由得感嘆文字之妙。現先簡單的作下收集,其實每一對單獨拎出來都足以讓我們好好考量一番了。故也附上一些前輩們的技術博文以供學習。

========================================

指針數組(array of pointers):用於存儲指針的數組,即數組元素都是指針
int p[4]; //[ ]的優先級高於 , 表示p數組有4個元素,每個元素都是一個指向int型變量的指針。

數組指針(a pointer to an array): 指向數組的指針
int (*p)[4]; // 表示p爲指向一維數組的指針變量

http://www.cnblogs.com/Romi/archive/2012/01/10/2317898.html


指針函數:本質是一個函數,返回類型時某一類型的指針

eg: int *fun(int a, int b); //函數fun 返回一個指向int類型的指針

函數指針:本質是一個指針,指向某個函數

eg: int (*p)(int x, int y); //聲明瞭一個指針指向一個返回爲int型且含兩個int型形參的函數

http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html


const 和 * 誰在前,誰就不允許改變

指針常量:
int b=2;
int c=3;
int *const ptr=&b; //指針在前,表示指針內容不可改變,但指針指向的對象是可以改變的
ptr = &c; //error
*ptr = c; //right

常量指針:
int a=1;
int b=2;
int const * ptr= &a; //常量在前,表示在指針指向的對象不可被改變,而指針本身是可以改變的
ptr = &b; // right
*ptr = b; // error

http://blog.csdn.net/beyond0525/article/details/7409305


函數模板:
函數模板可以用來創建一個通用的函數,以支持多種不同的形參,避免重載函數的函數體重複設計。它的最大特點是把函數使用的數據類型作爲參數

模板函數:
函數模板的數據類型參數標識符實際上是一個類型形參,在使用函數模板時,要將這個形參實例化爲確定的數據類型。將類型形參實例化的參數稱爲模板實參,用模板實參實例化的函數稱爲模板函數。模板函數的生成就是將函數模板的類型形參實例化的過程。

http://blog.csdn.net/beyondhaven/article/details/4204345


深拷貝、淺拷貝:
如果一個類擁有資源,當這個類的對象發生複製過程的時候,資源重新分配,這個過程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝。

http://blog.csdn.net/lpp0900320123/article/details/39007047

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章