C++迭代器解除引用和前缀增量/减量样式?是* - 明智的风格吗?

Pau*_*eny 2 c++ iterator coding-style prefix decrement

在使用C++迭代器进行编码时,如果你想获得迭代器指向的前一个值,你会写:

*--Iter
Run Code Online (Sandbox Code Playgroud)

或者你认为最好添加括号如下:

*(--Iter)
Run Code Online (Sandbox Code Playgroud)

Joh*_*ing 7

就程序正确性而言,这无关紧要.但我总是表达这一点,*(--Iter)因为这比人类更自我记录,更容易理解*--Iter.

  • 如果操作数被两个不同的运算符包围,则运算符优先级很重要.这不是这种情况,因此**运算符优先级在这个例子中根本不重要**.即使`*`的优先级高于` - `(如果不是这样的话我也不知道),` - `仍然与`Iter'绑定,因为没有争用.`Iter`不是`*`的操作数.如果它是关于运算符优先级的,你会如何解决它?`(* - )Iter`?没有解决方案,因为没有问题.`Iter`只有一个操作员固定,而不是两个. (4认同)