內聯函式(inline)
函式是否構成過載關係與函式的返回值型別無關
通過函式指標呼叫過載關係的函式,由函式指標的型別決定匹配過載的版本
呼叫過載關係的函式時,編譯器會根據形參和實參的匹配程度,選擇最優的匹配版本,一般的匹配規則:
完全匹配》=常量轉換》公升級轉換》降級轉換》省略號轉換
在操作符過載函式(operator)中區分前後++(–),在後++(–)的操作符過載的函式引數中會有乙個啞元引數,
相容舊**,在**維護公升級以後,有的引數可能會不使用了,但是為了不改變介面函式的引數,可以和舊**可以相容,就可以使用啞元引數
#include
using
namespace std;
void
func
(int a =10,
int b =20,
int c =30)
;int main (
void
)void
func
(int a/* = 10*/
,int b/* = 20*/
,int c/* = 30*/
)
$ g++ defarg.cpp -o defarg
$ ./defarg
a=11, b=22, c=33
a=10, b=20, c=30
a=11, b=20, c=30
a=11, b=22, c=30
多次呼叫小而簡單的函式,適合做內聯優化
呼叫次數極少或大而複雜的函式不適合內聯優化
遞迴函式不適合內聯優化(編譯器無法確定替換次數)
虛函式不適合內聯優化
內聯對編譯來說只是一種建議而不是強制要求,乙個函式能否做內聯優化主要取決於編譯器,有些函式不加inline修飾,也會預設處理為內聯優化的函式,有些函式即便加了inline關鍵字也會被編譯器忽略
內聯優化會使函式的執行流程變的連貫,**的執行效率會的到提高
C 從入門到放棄之 C 繼承基本語法
class struct 類名 繼承方式 基類,繼承方式 基類,類名 void 返回值型別 函式名 形參表 常屬性 異常說明 訪問控制限定符 資料型別 變數名 成員變數 include using namespace std class human void eat const string foo...
C 從入門到放棄之 類和物件基本認知
struct class 類名 繼承方式 基類,建構函式 類名 void 析構函式 返回值型別 函式名 形參表 成員函式 資料型別 m 變數名 成員函式 public 公有成員 在任何位置都可以訪問,類的內部和外部都可以訪問 private 私有成員 只有類的內部成員才可以訪問,不可以通過類的物件直...
Web安全從入門到「放棄」之pikachu環境部署
1.首先進行本地伺服器的搭建 先到官方 安裝xampp 安裝完後的軟體介面 如果開啟apache和mysql顯示錯誤的話,可以開啟日誌檢視錯誤資訊,點選logs開啟error.log日誌檢視。很大情況是埠錯誤,這時候可以修改埠,關於這個問題,網上有很多教程,這裡就不講解了 解壓pikachu.zip...