1.函數指針的好處就是可以把函數的當作形參代入到另一個函數中。函數指針的實參用函數名代入。
2.int main(int argc, char * argv[])
argc 為命令行個數 用空格分開 包括函數名
argv數組 大小為argc個 裡面存有命令行的值
//argv[0]為函數名
3.引用
<1>定義時初始化某個變量
<2>初始化之後不能再引用別的了
<3>只能引用變量,不能引用常量或表達式
4.引用作為函數的返回值
int n=4; int &SetValue() { return n; } int main() { SetValue()=40; cout<
5.常引用 //前面加const
注意const修飾的內容
const int & n=m;
修飾的引用,所以引用不能被修改,所以引用的值不能被修改。
6.new實現動態內存分配
<1>P=new T;
T為類型名 P為T*類型的指針 動態分配sizeof(T)字節的內存
<2>P=new T[N];
分配N*sizeof(T)字節的內存
new運算符的返回值的類型都是T*
7.delete釋放動態分配內存
delete p;
delete []p; //釋放數組
不能delete多次。
8.內聯函數
減少函數調用的開銷 //直接把函數體貼上去
inline+ 函數名
9.函數重載
函數名相同,參數不同(個數或者類型不同)
int max(int , int);
int max(double,double);
int max(int,int,int);
<1>使函數的命名簡單
<2>編譯器根據實參確定調用的函數
<3>注意發送二義性//幾種情況都可以,編譯器不知道調用哪個函數 比如 max(2.4,4);
//若函數名相同,參數相同,返回類型不同 則為重復定義
10.函數缺省參數
<1>提高程序的可擴充性
<2>能讓最右邊的連續參數缺省 //實參左對齊