在C中,我们常用宏定义来达到优化速度的目的,但由于宏定义的种种缺陷(大家应该都吃过这种苦吧),在C++中引入了内联函数。
内联函数实现了宏的概念,任何在类内定义的函数会自动的成为内联函数,但是也可以在类外用inline关键字来定义内联函数。
内联的目的和宏一样是为了减少函数调用的开销,但是通常我们会把比较简单且经常调用的函数设为内联函数,如果函数体过大,就没有必要定义为内联函数了,而与宏定义不同的是,在编译阶段内联函数也会进行参数类型的检查,这是宏定义这个仅仅在预处理阶段简单替换代码完成不了的优点。
内联函数在类中常用作存取函数,就是对私有变量的简单函数getValue()和 setValue(),当然也可以对变量进行简单的操作,这样程序的开销很小。