-
x=3; const int *p = &x; //p可以指向不同地址,但是內(nèi)容不能變。即p=&y(正確),*p=4(錯(cuò)誤) int *const p = &x; //p只能指向一個(gè)地址.即 p=&y(錯(cuò)誤)查看全部
-
注意用指針時(shí),如何使用strcpy()函數(shù),如何輸出查看全部
-
int *p=new int(20);初始化這個(gè)內(nèi)存查看全部
-
內(nèi)存管理: 內(nèi)存本質(zhì)是一種資源,操作系統(tǒng)管理內(nèi)存資源,我們可以申請(qǐng)與歸還內(nèi)存 內(nèi)存的申請(qǐng):int *p=new int;釋放:delete p; 申請(qǐng)和釋放塊內(nèi)存:int *arr=new int【10】; delete 【】arr; 申請(qǐng)內(nèi)存是否一定成功:不一定會(huì)有那么多內(nèi)存,用int *p=new int【1000】;if(NULL==p){內(nèi)存分配失敗} 釋放內(nèi)存注意:在釋放內(nèi)存后,要將指針值賦為空,如上p=NULL;查看全部
-
聲明的時(shí)候?qū)懩J(rèn)值,實(shí)現(xiàn)的時(shí)候去掉查看全部
-
c++函數(shù)新特性: 聲明函數(shù)參數(shù)默認(rèn)值:有默認(rèn)參數(shù)值的參數(shù)必須在參數(shù)表的最右端(從右向左左邊的可有可無(wú)參數(shù))如:void fun(int i,int j=5,int k)為錯(cuò),(int i,int k,int j=5)為正確 函數(shù)在聲明時(shí)可以寫(xiě)參數(shù)默認(rèn)值,但是在定義時(shí)不要寫(xiě)默認(rèn)值 函數(shù)在無(wú)實(shí)參時(shí)則用默認(rèn)值,有實(shí)參時(shí)覆蓋默認(rèn)值 函數(shù)重載: 在相同作用域內(nèi),用同一個(gè)函數(shù)名定義多個(gè)函數(shù),函數(shù)的參數(shù)個(gè)數(shù)或參數(shù)類型不同 重載好處:比如求最大值(有時(shí)候要求兩個(gè)數(shù)的最大值,有時(shí)候三個(gè)數(shù)),根據(jù)參數(shù)及返回值的不同調(diào)用最合適的函數(shù) 內(nèi)聯(lián)函數(shù):可以省掉2和4兩個(gè)步驟的時(shí)間,定義內(nèi)聯(lián)函數(shù)inline 類型 函數(shù)名(參數(shù)) http://img1.sycdn.imooc.com//55864f5f0001f94612800720-120-68.jpg 內(nèi)聯(lián)函數(shù)只是建議性的,要不要內(nèi)聯(lián)由編譯器決定 邏輯簡(jiǎn)單(不包含循環(huán)),調(diào)用頻繁的函數(shù)建議使用內(nèi)聯(lián) 遞歸函數(shù)無(wú)法使用內(nèi)聯(lián)方式查看全部
-
在函數(shù)中應(yīng)用const fun(const int &a,const int &b) { } fun(x,y)(此時(shí)x,y的值是不可變的)查看全部
-
const(控制變量是否可以變化) const int x=3;(則此時(shí)x為常量,不可進(jìn)行再賦值) const與指針類型 const int *p=NULL; int const *p=NULL;(兩種寫(xiě)法完全等價(jià)) int *const p=NULL; const int *const p=NULL; int const *const p=NULL;(這兩種寫(xiě)法也是完全等價(jià)的) int x=3; const int *p=&x; *p=4(錯(cuò)誤,因?yàn)閏onst指定的為*p);p=&y;(正確) int x=3; const int *const p=&x; p=&y(錯(cuò)誤,因?yàn)閏onst指向的為p,只能為x的地址) const與引用 int x=3;const int &y=x; y=10(錯(cuò)誤,y通過(guò)const限定只能為x的別名,值為3) 總結(jié): const int x=3;int *y=&x;(這種寫(xiě)法是錯(cuò)誤的因?yàn)閤本身定義為const,在用一個(gè)可變的指針指向,那么就有用指針改變x值得風(fēng)險(xiǎn),這是系統(tǒng)所不允許的); int x=3; const int *y=&x;(正確,這樣保證了指針對(duì)x只有可讀性,而沒(méi)有可寫(xiě)性)查看全部
-
引用就是指變量的一個(gè)別名(不能只有別名) int a=3; int &b=a;(為a起個(gè)別名b,也是將別名b初始化為a) b=10;(對(duì)別名做任何操作都是對(duì)其本身做操作) 結(jié)構(gòu)體類型的相關(guān)引用 struct Coor{ int x,y; } Coor c1; Coor &c=c1; c.x=10; c.y=20; 指針類型的引用:類型*&指針引用名=指針; int a=10; int *p=&a; int *&q=p; *q=20;(則a的值為20) 引用做函數(shù)參數(shù) void fun(int &a,int &b) { } fun(x,y)將x,y分別起別名,接下來(lái)在函數(shù)體中直接用別名來(lái)操作查看全部
-
數(shù)組調(diào)用等于指針調(diào)用,參數(shù)應(yīng)為指針型。查看全部
-
如果函數(shù)形參有默認(rèn)值,則參數(shù)列表中最右邊的參數(shù)必須有默認(rèn)值!?。?! 在函數(shù)聲明時(shí)可以有函數(shù)參數(shù)默認(rèn)值,但是在函數(shù)定義的時(shí)候最好不要帶默認(rèn)值! 函數(shù)重載,表現(xiàn)在函數(shù)返回類型,形參類型、個(gè)數(shù) 內(nèi)聯(lián)函數(shù),關(guān)鍵字inline,調(diào)用時(shí)相當(dāng)于把函數(shù)代碼在調(diào)用函數(shù)中展開(kāi),節(jié)省了調(diào)用時(shí)間和返回時(shí)間,效率高,但是注意遞歸函數(shù)無(wú)法作為內(nèi)聯(lián)函數(shù)。。。查看全部
-
基本數(shù)據(jù)類型的引用:int a;int &b=a; 結(jié)構(gòu)體類型的引用:typedef struct{int x;int y;}book;book b1;book &b=b1; 指針類型的引用:char c;char *p=&c;char *&d=p; 引用作為函數(shù)參數(shù),值傳遞,相當(dāng)于對(duì)原變量做相應(yīng)的操作。查看全部
-
const查看全部
-
const等價(jià)查看全部
-
定義指針類型 int *a,*b;查看全部
舉報(bào)
0/150
提交
取消