C++ 易错指南
1:vector 的 resize()[1]
- 在原长度等于新长度时,不做任何事;
- 在原长度大于新长度时,减少元素到新长度;
- 在原长度小于新长度时,会根据指定元素值(未指定的话,根据默认值)增加元素到新长度
2:STL 重载比较函数,比较运算符时,需要严格弱序关系(反自反,非对称,传递,不可比较性的传递)
偏序在 cmp(a, b) 和 cmp(b, a) 均为真时,无法得知 a,b 是不可比较还是等价
严格弱序在 cmp(a, b) 和 cmp(b, a) 均为 false 时,可知 a, b 等价
stl 容器和算法需要判断是否等价,所以要求严格弱序;如果 stl 重载成偏序关系,那么两个不可比较的对象也会被误认为是等价的。[2][3]

浙公网安备 33010602011771号