c++内联函数解析(inline) 您所在的位置:网站首页 使用内联函数有何限制因素 c++内联函数解析(inline)

c++内联函数解析(inline)

2024-07-16 05:05| 来源: 网络整理| 查看: 265

一、基本定义

       inline是C++语言中的一个关键字,可以用于程序中定义内联函数,inline的引进使内联函数的定义更加简单。说到内联函数,这里给出比较常见的定义,内联函数是C++中的一种特殊函数,它可以像普通函数一样被调用,但是在调用时并不通过函数调用的机制而是通过将函数体直接插入调用处来实现的,这样可以大大减少由函数调用带来的开销,从而提高程序的运行效率。一般来说inline用于定义类的成员函数。

二、inline的基本使用

      inline的使用比较简单,只需要在声明或者定义函数时在头部加上inline关键字即可,格式如下

1 inline 返回值类型 函数名(函数参数){ 2 //此处定义函数体 3 }

      一般来说,inline适用的函数有两种,一种是在类内定义的成员函数,另一种是在类内声明,类外定义的成员函数,对于这两种情况inline的使用有一些不同:

(1)类内定义成员函数

  这种情况下,我们可以不用在函数头部加inline关键字,因为编译器会自动将类内定义的函数声明为内联函数,代码如下:

1 class temp{ 2 public: 3 int amount; 4 5 //构造函数 6 temp(int amount){ 7 this->amount = amount; 8 } 9 10 //普通成员函数,在类内定义时前面可以不加inline 11 void print_amount(){ 12 cout amount; 13 } 14 } 15

         从上面的代码可以看出,在类内定义函数时,可以不加inline关键字,编译器会自动将类内定义的函数(构造函数、析构函数、普通成员函数等)设置为内联,具有内联函数调用的性质。

(2) 类内声明函数,在类外定义函数

    根据C++编译器的规则,这种情况下如果想将该函数设置为内联函数,则可以在类内声明时不加inline关键字,而在类外定义函数时加上inline关键字,代码如下所示:

1 class temp{ 2 public: 3 int amount; 4 5 //构造函数 6 temp(int amount){ 7 this->amount = amount; 8 } 9 10 //普通成员函数,在类内声明时前面可以不加inline 11 void print_amount() 12 } 13 14 //在类外定义函数体,必须在前面加上inline关键字 15 inline void temp:: print_amount(){ 16 cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有