C++内联函数inline
2016-09-22 13:03
246 查看
C++内联函数 inline
1 基本内容
C++中内联函数(inline)和传统C语言宏定义(#define)类似,原则上实现的过程都是表达名称或内容的替换,但是处理方法上会存在差别。内联函数的推出,也正是C++引入类后,为了取代存在一些缺点的宏定义。内联函数的作用是当你需要过于频繁执行一些简单函数时,可以inline关键字开头来定义函数,从而以牺牲空间的方式来节省函数调用的开销。
这里简单函数指那些,内部没有循环,开关等复杂语句的函数。如果函数过于复杂,反而大大降低了效益提高带来的益处。
注:传统C语言里面并没有inline关键字。
2 与宏定义区别
宏定义是在预处理阶段展开,不进行参数圧栈,不涉及类型检查,不生成代码等。而内联函数是在编译阶段,编译器使用函数体内容直接替换调用函数名的地方。但是编译器会检查参数类型,保证调用的准确性。这样虽然消耗了内存空间,但是节省了过度调用函数的开销。
它俩原则上都是名称或内容替换的一个过程。
3 实例
3.1 宏定义
#define Max(a,b) a>b ? a:b //没有分号
3.2 内联函数inline
template <typename T> inline T max(const T &a , const T &b) { return a>b ? a:b; }
3.3 类内和类外定义类方法区别
直接在类声明中定义实现的函数会自动成为内联函数,即:class CTest { public: int GetRel(int x) //该成员函数自动成为内联函数 { return x ; } }
而在类外定义时需要添加inline关键字,这样才能实现内联函数的功能。如下:
inline int CTest::GetRel(int x) { return x; }
个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
转载请注明出处:CSDN 无鞋童鞋。
相关文章推荐
- C++内联函数(Inline)介绍
- C++内联函数(Inline)介绍-ZT
- C++内联函数(Inline)介绍
- C++中内联函数inline的使用方法
- C++内联函数(Inline)介绍(2)
- 关于C++中的内联函数(inline)
- C++内联函数(Inline)介绍
- 关于C++中的内联函数(inline)
- 关于c++中内联函数inline的一点问题
- C++内联函数(Inline)
- C++内联函数(Inline)介绍
- C++内联函数(Inline)介绍
- C++内联函数(Inline)
- 关于C++中的内联函数(inline)
- C++内联函数(Inline)介绍
- C++内联函数(Inline)介绍
- 关于C++中的内联函数(inline)
- 挑战30天C++入门极限-在C++语言中,关于内联函数(inline)的入门教程
- C++内联函数(Inline)介绍
- C++内联函数(Inline)介绍