1.如果函數已經被聲明為inline( 內聯),則函數體可能已經在編譯期間它的調用點上就被展開,如果沒有被聲明為inline,則函數在運行時才被調用
2.盡管按值傳遞對內置數據類型的對象和小型類對象比較滿意,但是對於大型類對象,它的效率就太低了。使用引用參數函數可以訪問被指定為實參的類對象,而不必在函數的活動記錄中拷貝它
3.如果一個參數可能在函數中指向不同的對象,或者這個參數可能不指向任何對象,則必須使用指針參數
引用參數的一個重要用法是它允許我們在有效地實現重載操作符的同時,還能保證用法的直觀性
4.有時候我們無法列出傳遞給函數的所有實參的類型和數目,在這種情況下我們可以用省略號(...) 指定函數參數表
5.向一個函數傳遞參數發生錯誤的可能性隨參數表的長度的增加而提高,作為一個通用規則8 個參數應該是最大值了。為了替換一個大型的參數,表程序員可以將參數聲明為類、數組或某一種容器類型 www.2cto.com
6.inline 函數對編譯器而言必須是可見的,以便它能夠在調用點內聯展開該函數。與非inline函數不同的是,inline 函數必須在調用該函數的每個文本文件中定義。當然對於同一程序的不同文件,如果inline 函數出現的話其定義必須相同。因此,建議把inline 函數的定義放到頭文件中,在每個調用該inline函數的文件中包含該頭文件。
7.int main( int argc, char *argv[] ) { ... }:argc 包含命令行選項的個數,argv 包含aygc 個C 風格字符串,代表了由空格分隔的命令選項。argv[0]總是被設置為當前正被調用的命令,從索引1 到argc-1 表示被傳遞給命令的實際選項。
8.對於指向函數的指針而言,只有當賦值操作符左邊指針的參數表和返回類型與右邊函數或指針的參數表和返回類型完全匹配時,初始化和賦值才是正確的;如果不匹配則將產生編譯錯誤消息。在指向函數類型的指針之間不存在隱式類型轉換
9.指向C 函數的指針與指向C++函數的指針類型不同。因此指向C 函數的指針不能用指向C++函數的指針初始化或賦值,反之亦然,如果沒有這樣做就會產生編譯錯誤。