为什么是运营商 - >在C ++ STL库中由operator *实现?

时间:2015-05-29 06:08:36

标签: c++ stl

我阅读了UNION源代码,我找到了std::deque_deque_iterator::operator->的以下实现

_deque_iterator::operator*

所以我的问题是为什么不只返回reference operator* const() { return *cur; } pointer operator-> const(){ return &(operator*()); } 指针?像这样:

cur

1 个答案:

答案 0 :(得分:5)

更灵活。

如果发生变化,您只需在一个地方进行更改即可。如果您返回cur(正如您的建议,您必须更改两个地方。