如果有人问起了inline的作用
Creeper_LKF · · 个人记录
或许这张图会是最好的例子:
注意上面的对队列中的小函数以及读入优化进行了强制inline优化,于是得到的结果:-->-->(如上图)
然而注意不是所有时候inline都是出色的
例如一个大函数、递归函数、带指针的函数etc,编译器默认不会优化
然而像min,max,upmax,upmin,get_char等那么就在允许的情况下强制inline
代码如下:
define Finline __inline__ __attribute__ ((always_inline))
然后get_char这么写:
Finline char get_char(){
static char buf[5000000], *p1 = buf, *p2 = buf + fread(buf, 1, 5000000, stdin);
return p1 == p2 ? EOF : *p1 ++;
}
如果不放心还可以把static...部分提出来