内联函数inline
来源:互联网 发布:网络运营 专业技能 编辑:程序博客网 时间:2024/04/28 12:15
在c/c++代码中常可以看到在函数定义中出现关键字inline,如下截取代码示例
inline int Slice::compare(const Slice& b) const { const size_t min_len = (size_ < b.size_) ? size_ : b.size_; int r = memcmp(data_, b.data_, min_len); if (r == 0) { if (size_ < b.size_) r = -1; else if (size_ > b.size_) r = +1; } return r;}
作用:
该关键字修饰定义的函数称为内联函数,其作用为编译器在该函数调用语句处直接嵌入函数代码段(类似于宏),避免程序运行时调用该函数造成额外开销,即提升运行效率Note:
1. 内联函数会造成程序体积的增大,故内联函数应短小且调用频率较高。
2. inline定义不一定生效,即编译器可能忽略inline定义
3. 类中定义的成员函数隐含定义为内联函数,类外定义需使用关键字inline
4. 存在几种特殊情况不能定义inline函数,否则编译器报错或忽略,如递归及较复杂的结构(while,switch)等
0 0
- 内联函数 inline
- 内联函数inline
- inline 内联函数
- 内联函数 Inline Function
- C++内联函数(Inline)
- 关于内联函数inline
- 内联(inline)函数~
- C++内联函数(Inline)
- inline 内联函数
- C++内联函数(Inline)
- 内联函数 -- inline总结
- inline内联函数
- C++内联函数(Inline)
- 内联函数(Inline Function)
- C++内联函数(Inline)
- CG_INLINE,inline 内联函数
- C++内联函数 inline
- 内联函数inline
- 手机当前屏幕内容分享核心代码
- Volley添加Http Header
- 两个C++编译异常及解决方法-does not name a type和field `XX' has incomplete type
- 同余问题(2)逆元,孙子定理
- 黑马程序员——Java语言基础
- 内联函数inline
- select语句的两种不等于的写法
- Java实现排序算法之冒泡排序
- Centos下配置svn服务器
- Python 环境搭建
- 根据itemView的大小计算ListView动态大小
- ScrollView内嵌ListView(GridView)只显示一行
- 深入浅出Attribute(中)——Attribute本质论
- Python安装包括Numpy、matplotlib、dateutil、pyparsing、scipy