在处理迭代器时使用以下内容有什么好处

时间:2013-06-16 09:20:17

标签: c++ visual-c++

对于迭代器,我看到了一些代码使用

(*iterator).first

但我想我可以使用以下

iterator->first

使用一个优于另一个的优势是什么?哪个更好?

3 个答案:

答案 0 :(得分:2)

使用这些语句中没有任何优势,它们都将编译为完全相同的机器代码。

然而,我会说第二个稍微清楚一些,但这只是个人偏好。

答案 1 :(得分:1)

可读性。

第二个(对我来说是恕我直言)更具可读性。

答案 2 :(得分:0)

只要你有几个指向彼此的指针而最后一个指向你需要的对象,第二个(作为语法)的优点可能会加下划线。 代码p1->p2->obj(*(*p1).p2).obj更清晰。想象一下,当你有3个或更多指针时做参考。它也是语法错误的理想之地。 如果有人读取您的代码(甚至是您),那么只要您使用->运算符编写代码,您就会清楚自己在做什么。