内联函数 - 技术分享 - 志盟培训
首页技术分享 内联函数

内联函数

更新时间:2017-06-09      作者:何老师       阅读:793

内联函数:是指用inline关键字修饰的函数,在类内部定义的函数默认成内联函数。

特点:从源代码层看,有函数的结构,而在编译后,却不具备函数的性质。编译时,内联函数类似于宏替换,使用函数体替换调用处的函数名。

意义:内联扩展用来消除函数调用时的时间开销,它通常用于频繁执行的函数。

注意问题:内联函数具有一般函数的特性,它与一般函数所不同之处只在于函数调用的处理。一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换。在使用内联函数时,应注意如下几点:

1.在内联函数内不允许用循环语句和开关语句。如果内联函数有这些语句,则编译将该函数视同普通函数那样产生函数调用代码,递归函数是不能被用来做内联函数的。

2.内联函数只适合于只有1~5行的小函数。对一个含有许多语句的大函数,函数调用和返回的开销相对来说微不足道,所以也没有必要用内联函数实现。

3.内联函数的定义必须出现在内联函数第一次被调用之前。

4.所有在类说明内部定义的函数是内联函数。


代码1:

#include<iostream>

usingnamespacestd;


//内联函数

inlineint _max(inta,int b)

{

return a>b?a:b;

}


int main()

{

int n1=0;

int n2=0;

cout<<"请输入n1的值:";

cin>> n1;

cout<<"请输入n2的值:";

cin>> n2;

cout<<"最大值:"<<_max(n1,n2) <<endl;

}


代码2:

#include<iostream>

usingnamespacestd;


class Test {

private:

int x;


public:

//定义在类内部的为内联函数

Test()=default;

Test(int x){ this->x=x; }

voidsetx(int x){ this->x=x; }

intgetx(){ returnx; }

void display();

};


//定义在类外部的为普通函数

voidTest::display()

{

cout<<"x="<<x<<endl;

}

在线报名

志盟科技上海招聘

在线报名 联系我们

志盟科技深圳招聘

在线报名 联系我们

志盟科技北京招聘

在线报名 联系我们
联系我们

咨询热线:

咨询 QQ:517578         

就业学员

  • 就业学员

    姓名:郭凡凡 
    院校:阜阳师范学院
    就职:佳戴
    职位:软件工程师
    月薪:10000

  • 就业学员

    姓名:陈祥龙 
    院校:中北大学
    就职:美囤妈妈
    职位:软件工程师
    月薪:9000

  • 就业学员

    姓名:陈建伟
    院校:南昌航空大学
    就职:SONY
    职位:嵌入式工程师
    月薪:8000

×
×
  • *真实姓名
  • *联系手机
  • *上课地址
  •    QQ号码

温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。

×
  • *真实姓名
  • *联系手机
  • *联系邮箱
  • * QQ号码

温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一的服务。

本站由 宽敬科技——创新企业的建站运营顾问 提供支持