C++基本语言 内联函数 、const

    一、后置返回类型
     就是把函数的返回值放在参数列表后面
    格式:auto func(int a)->int;//声明
    
    二、内联函数: 在函数定义前增加关键字 inline 
    当函数体很小时,调用很频繁,改为内联函数,提升效率,普通函数调用时,会进行入栈出栈操作,定义为内联函数后,编译器会根据情况(决定权在编译器),在编译时将调用函数处替换为函数体内的语句,避免了入栈出栈操作。

内联函数的定义要放在头文件中(.h文件),这样需要用到这个内联函数的.cpp文件都能通过#include把这个内联函数#include进来。以便找到这个函数体的源代码,并尝试将其该函数的调用替换为函数体的语句。

优缺点:

1、代码膨胀的问题,所以内联函数要尽可能小

注意:各种编译器对inline处理各不相同,循环、分支、递归尽量不要出现在内联函数中。

奇怪的函数用法:

1、void函数可以返回一个void函数或者返回空值;

void funa()

{

}

void funb

{

return funa();//

return;//

}

2、函数返回指针类型或引用

int *func()

{

int val=9;

return &val;//这是绝对不可以的,因为函数调用结束后,该内存被系统释放了。

}

3、用引用做函数形参,C++中更喜欢用引用代替指针。

struct student

{

int num;

}

void func(student &stu)

{

stu.num=1001;

}

student abc;

abc.num=100;

func(abc);

cout<<abc.num<<endl;//1001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值