C++内联函数深入讲解

2024-06-12 14:10:31 浏览数 (2)

用法:

  在函数的返回值前面加上inline,例如:

作用:

  内联函数的存在其实是为了解决c语言中一些问题,比如有一个频繁调用的小函数,每次调用都需要建立栈帧,压栈出栈,减少了效率,而c语言的解决方法是用宏替换,但是宏有很多缺点(语法复杂,可读性差,无法调试,没有类型检查等),所以c 就有了内联函数,在编译过程内联函数会直接展开,不必建立栈帧,以空间换时间,提高效率。

特性:

  内联函数只是向编译器发送一个请求,如果设置的内联函数过长或者复杂,编译器会自行忽略掉这个请求,所以内联函数要具备规模小,调用频繁等这些特点。

  注意内联函数不支持声明和定义分离,因为内联函数被展开,函数名不会进符号表,就没有函数地址,链接时就会找不到

0 人点赞