看到号称google的编码风格文件里写道,内联函数最好不超过10行,越短小处理效率越高。
忘了内联函数是什么。
C++ primer里面写,是一个免去函数调用开销的函数,因为它被编译器提前处理,所以最好定义在头文件里以免被多个文件重复定义。
问题是,从这些描述看来,内联函数跟预定义有哪些区别呢?我自己能想到的只有,预定义是一种字面替换,而内联函数是函数,像定义a*a这样一个表达式,如果代入a的是x+x,预处理会把它当作x+x*x+x来计算,内联函数却是当作(x+x)*(x+x)来计算。可以想象,在处理内联函数时,编译器是会为它维护符号表的。。
搜索到另外的解释:还有一个很重要的区别是,内联函数可以作为类的成员函数,保护私有成员。
好吧太小的一个知识点,学到了也不算什么