>>1和/2的区别(不讨论性能)

">>1"向下取整

"/2"向0取整

也就是说,当被除数小于0且被除数是奇数时

">>1"结果偏小,"/2"结果偏大

字符位运算

字母&31 = 字母在字母表中的顺序(大小写一样)

大写字母^64 = 1~26

小写字母^64 = 33~58

数字^64=112~121

数字^48=数字本身值

常用数学库

log10(x) x以10为底的对数

自加自减的执行时机

while(len--) cout<<len<<endl;

这条语句的执行顺序:

读取len的值

len的值-1

cout len的值

关于inline的简短总结

  1. 本质类似于宏定义
  2. 由于1,inline只适合简短的,无递归的,被频繁调用的函数
  3. Inline仅仅是对编译器的建议,所以如果你写inline的位置很傻X,编译器大概率会视而不见
  4. inline函数中不可出现循环结构