函数新写法,inline内联函数,函数特殊用法部分注意事项

本文详细解析了后置返回类型和内联函数的使用,介绍了它们如何影响程序性能,以及在实际编程中的优缺点。涵盖了类型推断、内联函数的调用优化、返回类型、引用返回和不带参数函数的用法,适合理解高级C/C++编程技巧。
摘要由CSDN通过智能技术生成

后置返回类型

auto func(int, int) -> int;		//声明
auto func(int a, int b) ->int;  //定义
{
	return 1;
}

//等同于 
int func(int, int);

//auto 表示自动类型推断

inline内联函数

功能:
1.系统尝试将调用改函数的动作替换为函数本体,提升程序执行性能

inline int func(int test)
{
	return 1;
}

int main() {

	int a = func(5);
	//int a = 1;  类似
	return 0;
}

2.inline只是开发者对编译器的建议, 编译器可以尝试去做,也可以不去做, 这取决于编译器诊断功能

3.内联函数的定义要放在头文件,因为是本体替换,方便找到函数本体源代码并尝试将该函数的调用替换为函数体内语句

优缺点:
优点是减少调用时间
缺点代码膨胀问题, 内联函数体尽量越小越好

函数特殊用法部分

可能不常用,混个眼熟
1.一般返回类型为void时,可以不返回,也可以return; 不带任何类型,但是,可以调用一个返回类型为void的函数它让作为一个返回类型为void的函数返回值

void funca()
{
	//...
}
void funcb()
{
	return funca();
}

2.返回引用

int* myfunc()
{
	int val = 9;  //val要设置为全局
	return &val;  //语法没错,但是有巨大隐患,函数结束时,内存已被系统回收
}

int main() {

	int* a = myfunc();
	*a = 6;  //函数结束时,内存已被释放,更改会存在隐患

	return 0;
}

不带形参
常见

int main(void)
int main()//两种均可

int func(void)
{

}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值