1. ? 函數調用與內聯(lián)函數
inline ?int ?getmin(a,b){}
內聯(lián)函數在先期聯(lián)編中,已經代碼展開。但是并不是所用的都適用,簡單的幾行,經常被調用的代碼可以使用內聯(lián)函數。
函數調用是動態(tài)調用,中斷機制,函數返回,恢復現場,楨棧結構。所需要的參數都是壓棧進入函數的運行棧中,值傳遞。但是大型的數組,或者修改實參的參數,需要進行引用或者指針傳參。
函數申明必須在前,防止編譯錯誤。多文件操作,要進行引用,利用宏機制防止多次編譯。
2.引用參數
適用情況:
1.引用參數能夠修改實參;
2.能夠向主調函數傳輸額外的參數。
3.向函數傳遞大型類對象。若希望不修改實參,只是避免大型拷貝的時候,可以加const 。
引用的特征:
傳遞地址,而且相當于重名名,指向同一塊內存。
引用必須初始化一個指向對象。而指針卻可以指向空對象,或不指向。
3.指針參數
適用情況:
在內部指向其他對象的情況下,不能使用引用,必須是指針。
4.抽象類型參數
容器類型其實是類類型,可以適用引用或指針防止大型的拷貝。
5. 缺省參數:
在聲明時指定缺省值,調用的時候缺省值在尾部。
6.省略號參數
無法列出所有的參數時。
7.函數返回值
默認是值傳遞返回,非左值不可修改。
引用返回時,要注意防止返回局部對象的引用。
盡量不要使用全局參數進行函數間的通信,不好定位問題。推薦使用參數列表或者返回值。
8.extern 作用
鏈接指示符extern "C"
extern "C" { ?void ? min(); ?void max();}
外部聲明
9.命令行執(zhí)行
prog ?-d ?-o file ?data
參數是從1開始
-d ?打開調試
-o ?表示輸出