gpt4 book ai didi

c++ - std::forward_list 是否支持手动重新指向?

转载 作者:太空狗 更新时间:2023-10-29 20:22:46 25 4
gpt4 key购买 nike

以下是一个很琐碎的问题,以前可能有人问过,但是,我无法通过搜索找到答案。

我想做的是使用 std::forward_list 在 C++ 中实现“Cracking the Coding Interview”中的一些练习。在我的理解中,链表元素包含 a) 数据和 b) 指向下一个元素的指针。一些解决方案需要将“下一个”指针重新指向另一个元素,就像这样(伪代码)

node1.next = node1.next.next.next; // Effectively deletes 2 elements

但是,我在 forward_list documentation 中找不到任何方法来执行此操作?我错过了什么,还是根本不可能?

如果有人能指出我正确的问题,我将非常高兴,谢谢!

最佳答案

您不能在 std::forward_list 中进行手动重新指向,因为它对您隐藏了所有机制。这就是创建它的原因!

相反,您需要对其执行业务操作。例如,要从列表中删除元素,您需要调用 erase_after() - 它甚至具有一次性删除两个连续节点的重载。

关于c++ - std::forward_list 是否支持手动重新指向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36343817/

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