-
當(dāng)const已經(jīng)修飾一變量時(shí),再去用指針去指這個(gè)變量會(huì)很危險(xiǎn),因?yàn)橹羔樋梢愿娜ピ撟兞康闹?,與const就有沖突的風(fēng)險(xiǎn)
查看全部 -
內(nèi)聯(lián)函數(shù)關(guān)鍵字:inline
內(nèi)聯(lián)函數(shù)是建議性的,由編譯器決定。
邏輯簡(jiǎn)單,調(diào)用頻繁的函數(shù)建議使用內(nèi)聯(lián)。
遞歸函數(shù)無(wú)法使用內(nèi)聯(lián)。
查看全部 -
總結(jié)如下:
查看全部 -
C++中new的初始化,int *p = new int(20);
查看全部 -
C++的內(nèi)存管理,
內(nèi)存的本質(zhì)就是資源;操作系統(tǒng)掌控內(nèi)存的資源,我們能對(duì)內(nèi)存資源進(jìn)行申請(qǐng)和歸還。
申請(qǐng)和釋放內(nèi)存,分別使用new、delete,兩者均屬于運(yùn)算符而不是函數(shù)。
申請(qǐng)內(nèi)存 int*p = new int;
釋放內(nèi)存 delete p;
申請(qǐng)塊內(nèi)存 int* arr = new int [10];
釋放塊內(nèi)存 delete []arr;
判斷內(nèi)存是否申請(qǐng)成功,電腦內(nèi)存可能用完。
釋放內(nèi)存時(shí),需要將付給的指針進(jìn)行賦空,必選出現(xiàn)無(wú)意義的指針,會(huì)影響程序的使用。
查看全部 -
/**
? *函數(shù)功能:返回a和b的最大值
? *a和b是兩個(gè)整數(shù)
? */
int getMax(int a, int b)
{
? ? return a > b ? a : b;
}
查看全部 -
C++函數(shù)的重載:
計(jì)算機(jī)在面對(duì)函數(shù)重載時(shí),是通過(guò)對(duì)同名函數(shù)形成新的函數(shù)名來(lái)區(qū)分同名函數(shù)。在調(diào)用時(shí)計(jì)算機(jī)通過(guò)傳入的實(shí)參類(lèi)型和實(shí)參個(gè)數(shù)來(lái)調(diào)用相應(yīng)的同名函數(shù)。
使用內(nèi)聯(lián)函數(shù)可以省略第2步和第4步,省去很多時(shí)間,尤其是在循環(huán)調(diào)用函數(shù)時(shí)省去更多的時(shí)間。
內(nèi)聯(lián)函數(shù)條件:1.邏輯簡(jiǎn)單,2.不能有遞歸函數(shù)
查看全部 -
函數(shù)參數(shù)默認(rèn)值://有默認(rèn)參數(shù)值的參數(shù)必須在參數(shù)表的最右端
void fun(int i, int j=5, int k = 10);
void fun(int i, int j=5, int k);//錯(cuò)誤
在寫(xiě)代碼時(shí),建議在函數(shù)聲明時(shí)定義默認(rèn)值,但是在函數(shù)定義時(shí)不寫(xiě)默認(rèn)值。原因是有的編譯器不能通過(guò)。
查看全部 -
int const a = 10;
在對(duì)p進(jìn)行引用調(diào)用時(shí),
指針指向const修飾的變量時(shí),應(yīng)該是const int const *p = &a;
查看全部 -
C++的引用類(lèi)型,
什么是引用:即為別名
int a = 3;
int &b = a;
b = 10;
cout << a << endl;
結(jié)構(gòu)體的定義:
typedef struct
{
int x;
int y;
}Coor;
int *p = &a;//指指針p指向a的地址
int *&q = p;//表示指針別名q賦值為指針p
*q=20//將20賦值給以上三個(gè)變量
查看全部 -
C++內(nèi)存管理。本質(zhì)為:資源的申請(qǐng)和歸還。
內(nèi)存的申請(qǐng)和釋放。
運(yùn)算符: new和delete。
申請(qǐng):int *p=new int;? ? ? ? 釋放:delete p;?
塊內(nèi)存:
? ? ? int *arr=new int[10];? ?//申請(qǐng)塊內(nèi)存;
? ? ? delete? []arr;? //釋放塊內(nèi)存;
注意:? ?某個(gè)特定用括號(hào),數(shù)組用中括號(hào)。?
? ? ??????????????????int *p=new int(20);? // 訪問(wèn)整數(shù)20的內(nèi)存
????????????????????? int *p=new int[20];? ? ?//空間大小為20?C++和C語(yǔ)言比較:
申請(qǐng)時(shí)應(yīng)考慮申請(qǐng)失敗的情況: if(p==NULL);
釋放內(nèi)存之后,將指針置空。
流程為:申請(qǐng)(new)—判斷(if p==NULL)—釋放(free)—置空(p=NULL)
查看全部 -
函數(shù)參數(shù)的默認(rèn)值規(guī)則:有默認(rèn)值的參數(shù)應(yīng)放在參數(shù)表的最右端。
函數(shù)默認(rèn)值的注意事項(xiàng):聲明時(shí)可加默認(rèn)值,定義不建議加默認(rèn)值。
函數(shù)重載。
(1)同一函數(shù)名稱(chēng)定義多個(gè)函數(shù);
(2)函數(shù)的參數(shù)個(gè)數(shù)或類(lèi)型不同。
函數(shù)之間互稱(chēng)重載。內(nèi)聯(lián)函數(shù),關(guān)鍵字 inline。
優(yōu)點(diǎn):效率比較高;
條件為:使用頻繁且邏輯簡(jiǎn)單的函數(shù)建議內(nèi)聯(lián);
遞歸函數(shù)無(wú)法使用內(nèi)聯(lián)。
查看全部 -
int?const?a=3; int?*p=&a;?????? //錯(cuò)誤表達(dá),原因:雖然a為常值,但指針p為可變的。應(yīng)用const指針修飾const?變量。 //正確為: int?const?a=3; const?int?const*p=&a;
查看全部 -
1.主要對(duì) 引用--別名進(jìn)行介紹。
2.對(duì)數(shù)據(jù)類(lèi)型、結(jié)構(gòu)體和指針的引用進(jìn)行說(shuō)明。
3.引用必須做初始化。 正確:int &a=b;? ?錯(cuò)誤:int &a;
查看全部 -
1 c++函數(shù)形參可以賦初值,但推薦在函數(shù)聲明中賦值,函數(shù)定義中不賦值; 2 c++函數(shù)形參初值會(huì)被實(shí)參覆蓋查看全部
舉報(bào)