C++的一系列卡常技巧
-
register 的运用
register 相当于一种“暗示”,它暗示你的内存cache这个变量将会频繁使用,使得你的cache存下该变量以便直接调用,常用于各种循环中
如for(register int i=1;i<=n;i++) { }
-
++i与i++
在分别进行两种操作时,不同于++i,i++将会先把i的值在内存中存下再运用,一般花费时间是++i的1.5倍左右,常用于循环(据说现在不少编译器已经将此优化)
如for(int i=1;i<=n;++i) { }
-
inline
原理类似register,用于非递归函数,多次调用下时间节省非常可观
如inline bool check(int mid) { if(a[mid]<ans) return