1、为什么要用哑元?
一般用于升级,替代老版本,向下兼容
如:
老版本:void foo(int x,int y,double z);
新版本:void foo(int x,int y,double);
内联:http://blog.chinaunix.net/uid-790245-id-2037325.html
2、为什么要用内联?
和宏函数差不多,c++引入内联用来代替宏函数,宏函数在预编译时不会检查参数类型,返回值等,而内联可以。
内联主要用主要使用空间换时间,来提高执行效率。内部机制就是编译器在编译时把内联函数的代码直接替换,
来减少函数的调用,来减少开销。
3、在什么地方使用内联?
循环或者递归不要使用,一般简单并且经常调用的函数要使用内联,函数代码一般不会超过5行
注意
1、)并不是你在函数前加上一个inline,这个函数就是内联函数的,这个的取决于编译器
2、)递归无法使用内联,因为他不知道该扩张多少次
3、)内联函数时用于实现的关键字,而不是申明的关键字。
例:
正确
void foo(int x,int y);
inline void foo(int x ,int y){ ...... }
错误
inline void foo(int x, int y);
inline void foo(int x,int y){ ...... }
转载于:https://blog.51cto.com/08290710/1630013