应该使用inline内联函数,即编译器将inline内联函数内的代码替换到函数被调用的地方。
优点:
在内联函数被调用的地方进行代码展开,省去函数调用的时间,从而提高程序运行效率;
相比于宏函数,内联函数在代码展开时,编译器会进行语法安全检查或数据类型转换,使用更加安全;
缺点:
代码膨胀,产生更多的开销;
如果内联函数内代码块的执行时间比调用时间长得多,那么效率的提升并没有那么大;
如果修改内联函数,那么所有调用该函数的代码文件都需要重新编译;
内联声明只是建议,是否内联由编译器决定,所以实际并不可控。
应该使用inline内联函数,即编译器将inline内联函数内的代码替换到函数被调用的地方。
优点:
在内联函数被调用的地方进行代码展开,省去函数调用的时间,从而提高程序运行效率;
相比于宏函数,内联函数在代码展开时,编译器会进行语法安全检查或数据类型转换,使用更加安全;
缺点:
代码膨胀,产生更多的开销;
如果内联函数内代码块的执行时间比调用时间长得多,那么效率的提升并没有那么大;
如果修改内联函数,那么所有调用该函数的代码文件都需要重新编译;
内联声明只是建议,是否内联由编译器决定,所以实际并不可控。