1. 巧用计算方法
x 对 2 的 n 次方取余等价于 x 与 2 的 n 次方减去 1 位与:
x
%
2
n
=
x
&
(
2
n
−
1
)
x \% 2^n = x \& (2^n-1)
x%2n=x&(2n−1)。特别常用的对 2 取余的计算:
x
%
2
=
x
&
1
x \% 2 = x \& 1
x%2=x&1。
x 除以 2 的 n 次方等价于 x 右移 n 位:
x
÷
2
n
=
x
>
>
n
x \div 2^n =x >> n
x÷2n=x>>n。x 乘以 2 的 n 次方等价于 x 左移 n 位:
x
×
2
n
=
x
<
<
n
x \times2^n=x<<n
x×2n=x<<n。
2. 避免频繁的内存申请释放
避免频繁的内存申请与释放的主要思路是使用前申请内存,不需要时再释放。为了达到不需要时再释放的目的,可以;
- 定义全局变量或局部静态变量。除非内存在程序运行过程中都需要用到,不然这种方式不能及时释放内存造成内存浪费。
- 构造函数申请内存,析构函数释放内存。在类中定义需要多次用到的内存时,在构造函数内申请,析构函数内释放。