C++ 关于卡常的一点提示

encore

2019-09-07 19:22:02

Personal

inline使用限制:函数体中不能含有任何形式的循环语句,不能含有递归,不能含有switch语句,不能进行取址(也就是sort的cmp函数inline不了),不能与\_\_attribute\_\_((weak))连用。 register:主要不是使用限制的原因,开了O2之后编译器该放寄存器的放寄存器,不该放的你加了register也没有用(NOI开O2)。register只有在比较老的机上才会有很大效果,后来的C++14好像还忽略register关键字。