C 內聯函式 auto關鍵字

2021-10-02 08:47:34 字數 782 閱讀 5506

inline修飾的函式叫做內聯函式,編譯時c++編譯器會在呼叫內聯函式的地方展開,沒有函式壓棧的開銷,內聯函式提公升程式執行的效率。

特性

c++11中,auto作為乙個新的型別指示符來指示編譯器,auto宣告的變數必須由編譯器在編譯時期推導而得

注:例:

int testauto()

int main()

auto使用規則:

int main()

void testauto()

auto不能推導的場景

1.auto不能作為函式的引數

//此處**編譯失敗,auto不能作為形參型別,因為編譯器無法對a的實際型別進行推導

void testauto

(auto a)

2.auto不能直接用來宣告陣列

void testauto()

; auto b=

;}

3.c++11只保留了auto作為型別指示符的用法

4.auto不能定義類的非靜態成員變數

5.例項化模板時不能使用auto作為模板引數

內聯函式,auto關鍵字(C 11)

1,inline修飾的函式叫內聯函式,編譯時c 編譯器會在呼叫內聯函式的地方展開,編譯期間編譯器會用函式體替換函式的呼叫,沒有函式壓棧的開銷,提公升了程式執行效率 2,檢視方式 在release模式下,檢視編譯器生成的彙編 中石否存在 call 函式名 在debug模式下,看是否有函式壓棧 3,特性...

auto關鍵字 decltype關鍵字

自動型別推斷 1 使用auto關鍵字的變數必須有初始值。在定義的時候進行初始化 2 函式引數和模板引數不能被宣告為auto。3 使用auto關鍵字進行型別推導時,如果初始化表示式是引用型別,編譯器會去除引用,除非顯示宣告 4 使用auto使用auto關鍵字進行型別推導時,編譯器會自動忽略頂層cons...

C 之auto關鍵字

在那些情況下要申明型別 定義變數型別 函式返回值,函式引數 表示式返回變數型別 為什麼auto 在開發實踐中,有時候我們並不能非常容易地確定乙個變數應該具有的資料型別。比如,將某個複雜表示式作為初始值賦值給乙個新定義的變數時,我們往往很難確定這個表示式的資料型別,從而無法確定變數應有的資料型別。為了...