gpt4 book ai didi

c++ - 为什么 operator-> 在 C++ STL 库中由 operator* 实现?

转载 作者:太空狗 更新时间:2023-10-29 20:38:48 26 4
gpt4 key购买 nike

我阅读了std::deque 源代码,我发现了以下_deque_iterator::operator->_deque_iterator::operator* 的实现>

reference operator* const() { return *cur; }
pointer operator-> const(){ return &(operator*()); }

所以我的问题是为什么不直接返回 cur 指针?像这样:

pointer operator-> const(){ return cur; }

最佳答案

它更灵活。

如果有什么改变,你只需要在一个地方做改变。如果您返回 cur(如您所建议的,您有两个地方必须更改。

关于c++ - 为什么 operator-> 在 C++ STL 库中由 operator* 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30522265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com