在使用 C++ 迭代器进行编码时,如果您想获得迭代器指向的前一个值,您会写:
*--Iter
还是您认为像这样添加括号更好:
*(--Iter)
?
在使用 C++ 迭代器进行编码时,如果您想获得迭代器指向的前一个值,您会写:
*--Iter
还是您认为像这样添加括号更好:
*(--Iter)
?
就程序正确性而言,这并不重要。但我总是这样表达,*(--Iter)
因为这比*--Iter
.
为了清楚起见,我会使用后者,但两者都是完全有效且等效的。
注意:如果有任何混淆,该语法不只是获取前一个迭代器的值,它会将迭代器本身向后移动。如果您想在不修改现有迭代器的情况下获取前代迭代器的值,那么您需要一个临时的。
即使您使其中之一按预期工作,它们也很难阅读。这是否必须在单个语句中完成?
哪一个都好。使用您需要遵守的任何编码标准所偏好的一种,或者您个人更喜欢的一种。