我读了std::deque源代码,我找到了以下的实现_deque_iterator::operator->和_deque_iterator::operator*
reference operator* const() { return *cur; }
pointer operator-> const(){ return &(operator*()); }
Run Code Online (Sandbox Code Playgroud)
所以我的问题是为什么不只是返回cur指针?像这样:
pointer operator-> const(){ return cur; }
Run Code Online (Sandbox Code Playgroud)
它更灵活.
如果发生变化,您只需在一个地方进行更改即可.如果你回来cur(如你所说,你有两个地方你必须改变.
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |