(3.2)狄泰軟件學院C++課程學習剖析三
阿新 • • 發佈:2017-07-31
cti 學院 函數定義 關鍵字 但是 function 判斷 ima c語言
對課程前面40課的詳細回顧分析
1、
2、
3、c++中可以使用const常量代替宏常數定義;同樣我們可以使用內聯函數來替代宏代碼片段。內聯函數在聲明時inline關鍵字必須和函數定義結合在一起,否則編譯器會直接忽略內聯請求。c++編譯器可以將一個函數內聯編譯,所謂的內聯編譯就是編譯器直接將函數體插入到函數調用的地方,類似於宏定義替換;內聯函數省去了普通函數調用時的額外開銷(壓棧、跳轉、返回);但是inline只是一種請求,c++編譯器對於函數的內聯請求不一定都會滿足。
4、c++可以在函數聲明時為參數提供一個默認值,當函數調用時沒有提供參數時候則使用默認值;尤其需要指出的一點是參數的默認值必須在函數聲明中指定;當函數聲明和函數定義中都有一個默認值時候則選用函數聲明中的默認值,同時可以在函數參數中使用占位參數,占位參數只有函數參數類型聲明,而沒有參數名。
5、c++中int function()和int function(void)沒有區別,都表示無參數接收,返回值為int的函數;但是在C語言中前者表示可以接收任意參數,後者才表示不接受參數。
6、重載函數本質上是一個個相互獨立的不同的函數,函數重載是由函數名和參數列表決定的,返回值不能作為判斷依據。
(3.2)狄泰軟件學院C++課程學習剖析三