C++ Primer 5th笔记(6)chapter6 函数: 重载
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(6)chapter6 函数: 重载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. const_cast和重載
const string sumLength(const string &s1, const string &s2) {return s1; } string &sumLength(string &s1, string &s2) {auto &r = sumLength(const_cast<const string&>(s1), const_cast<const string&>(s2));return const_cast<string&>(r); }2. 重載與作用域
在C++當中,名字查找在類型檢查之前進行
string read(); void print(const string &); void print(double); void fooBar(int ival) {bool read = false; // 新作用域:隱藏了外層的readstring s = read; // 錯誤: read是一個布爾值,而非函數// 為了給大家演示作用域,使用一個局部聲明的函數,該寫法并不鼓勵void print(int val){ std::cout << val << std::endl; }; // 新作用域:隱藏了之前的printprint("Value: "); // 錯誤:print(const string &)被隱藏掉了print(ival); // 正確: 當前print(int)可見print(3.14); // 正確:調用print(int); print(double)被隱藏掉了 }3. 默認實參
可以這樣:
string s(sz, sz, char = ‘’);
string s(sz = 9, sz=8, char);
4. 內聯函數可避免函數調用的開銷
5. constexpr函數
- 指能用于常量表達式的函數
- 函數的返回類型和所有形參的類型都得是字面值類型
- 被隱式地指定為內聯函數。
總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(6)chapter6 函数: 重载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(6)c
- 下一篇: C++ Primer 5th笔记(6)c