C++語言
-
函式與后置回傳型別、
-
函式可以沒有形參 但實參的值必須有 型別不能省略、
-
前置回傳型別、將函式回傳型別放在函式名稱前
-
void b(int, int);//函式宣告是可以只有型別 沒有函式形參名 void a(int b, int)//只給型別、沒有形參變數名、 { return; } int main() { a(10, 39); } -
C++11出現了后置回傳型別、函式回傳型別寫在引數串列之后、
-
auto b(int, int)->void;//函式宣告后置回傳型別 auto a(int b, int)->void//auto 自動型別推斷、函式定義后置回傳型別、 { return; } int main() { a(10, 39); } -
前面放置auto便是函式的回傳型別放在引數串列之后、而引數串列之后的回傳型別通過->開始、
-
-
-
行內函式、
-
普通函式定義前加inline、便是行內函式、
-
inline int a(int b)//行內函式 { return 1; } -
呼叫函式消耗系統資源、行內解決了函式體小、而且頻繁呼叫的函式、
-
inline影響編譯階段、在編譯期嘗試將呼叫該函式的動作替換成函式本體、目的是提升性能、
-
函式動作替換為函式本體會帶來代碼膨脹問題、
-
inline取決于編譯器、
-
-
-
函式雜合用法、
-
void 表示函式不回傳任何型別 但是可以呼叫一個回傳型別為void的函式、作為另一個回傳型別void的函式回傳值、
-
void a() { } void b() { return a(); return; }-
函式回傳指標和回傳參考、
-
這樣使用有安全問題、這樣是往其它地址寫入內容、
-
int* a() { int b = 3; return &b;//函式執行后、此段內容便會被系統回收、 }
-
3. 回傳參考、 1. ```c int &a() { int a = 3; cout << &a << endl; return a; } int main() { int& b = a(); cout << &b << endl;//同樣也是有安全問題、使用整型來解決安全問題 int b = a(); cout << &b << endl;//使用整型來解決安全問題、這樣的話就不是同樣的一個地址、不用擔心記憶體問題、 }?
-
沒有形參可以保持形參串列為空
-
函式不呼叫的話可以只有宣告部分、沒有定義部分、
-
函式定義一般只能定義一次、但可以多次宣告、函式定義一般放在.cpp檔案中,函式宣告檔案一般放在.h里面、
-
參考做形參、
-
struct a { int b; };//定義結構體 void c(a& d) { d.b = 50; } int main() { a e; e.b = 190; c(e); cout << e.b << endl; }
-
2. 不存在只拷貝問題、只是傳遞地址、 7. 防止形參和實參的只拷貝、所以盡量使用參考型別的形參取代指標型別的形參、 -
-
-
-
const char、char const、char const三者的區別、
- 把形參寫成const的好處、可以防止無意中修改了形參的值導致實參被改變、
2. 實參型別更靈活、
3.
- 把形參寫成const的好處、可以防止無意中修改了形參的值導致實參被改變、
-
函式形參中帶const
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/138400.html
標籤:C++
