绝不要在使用加减运算时引入依赖关系!
operator + 和 operator - 是没有定义先后顺序的。因此,如果你使用operator + 或者 operator - 来处理两个有运算依赖关系的元素,在debug模式下和在Release模式下可能会有不同的执行路径,这取决于编译器的优化设置。
例如,如下的代码:
result = functionA() + functionB();
如果你希望functionA先于functionB执行,请将上面的代码修改为:
int lhs = functionA();
int rhs = functionB();
result = lhs + rhs;