c++中用内联函数代替宏定义
关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用。内联函数调用前必须声明
内联函数和普通函数一样会进行参数检查
强制内联
g++:attribute((always_inline))
MSVC:__forceinline
c++内联的限制
不能存在任何形式的循环语句
不能存在过多的条件判断语句
不能对函数进行取地址操作
函数内联声明必须在调用语句之前
内联是以代码膨胀(复制)为代价,将使程序的总代码量增大,消耗更多的内存空间,仅仅省去了函数调用的开销,从而提高函数的执行效率。