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