inline?
inline好像和预编译语句差不多,也是在调用处直接展开,不会引起栈的操作,因而可以提高程序的执行速度,但是这样,如果该函数在多处都调用了,则会显著增加程序的代码量。只有要求执行时间,同时调用地方又不多的函数,才使用该关键字修饰,对吧?不知道这样理解对不对?
registor类型的传参可以提高执行速度,但是registor个数有限,但是对编程者来说,何时使用registor传参数,是所有的参数都使用registor,还是部分使用registor.如下:
void fun(register int a, int b)
void fun(int a, int b)
void fun(register int a, registor int b)
还有对默认使用寄存器传参的编译平台,还有没有必要使用这个关键字?
请教了!
[解决办法]
inline和宏的最大区别就是inline提供了类型安全检查
inline编译期,宏预编译期,也就说明了前面的情况
当然inline最好体积小,否则不如去掉inline
一般编译器会对变量进行优化,有些使用较频繁的变量会被优化成register