C++内联函数的学习
生活随笔
收集整理的這篇文章主要介紹了
C++内联函数的学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
內聯成員函數兩種方式 實現的時候加inline ? ?直接在類中給出實現方式 //Test.h?? #?ifndef?_TEST_H_?? #?define?_TEST_H_?? ?? class?Test?? {?? public:?? ?????int?Add(int?a,?int?b);?//內聯成員函數?? ????//{?? ????????//return?(a+b);?? ????//}??? };?? ?? #?endif?? Test.cpp //Test.cpp? #?include?"Test.h"? ? //inline函數的定義? int?Test::Add(int?a,?int?b)? {? ????return?(a+b);? }? main.cpp #?include?"Test.h"? #?include?<iostream>? using?namespace?std;? ? int?main(void)? {? ????int?res;? ????Test?t;? ????res?=?t.Add(2,3);? ????? ????cout<<?"res?=?"?<<?res?<<?endl;? ? ????return?0;? }? 第二種方法: 直接在類定義中給出實現方法 //Test.h??? #?ifndef?_TEST_H_??? #?define?_TEST_H_??? ??? class?Test??? {??? public:??? ?????int?Add(int?a,?int?b);?//內聯成員函數??? ????{??? ????????return?(a+b);??? ????}???? };??? ??? #?endif?
?
內聯函數,題號效率,在編譯的時候,將代碼直接嵌入到調用的地方,
從而減少了函數調用的開銷。 每調用一次,程序體積就會變大,實際是以空間換時間的例子。 內聯函數僅僅是給編譯器一個提示而已,如果函數中有switch,for.編譯器 很可能不會將它當成內聯函數。 第一種inline的定義:總結
以上是生活随笔為你收集整理的C++内联函数的学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot2.0基础案例分类总
- 下一篇: s3c2440移植MQTT