gpt4 book ai didi

c++ - 查找 STL 迭代器的所有者

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:06 25 4
gpt4 key购买 nike

有什么方法可以找到迭代器指向的容器?具体来说,我希望能够找到特定 std::vector::iterator 指向的 std::vector 以便我可以检查范围,而无需实际传递对该 vector 的引用。

如果(我怀疑)答案是否定的,为什么不呢?

编辑:感谢您提供了一些快速且(大部分)准确的答案。 Evan Teran钉它。我根本没有考虑优化,但现在很明显了。

有几个人问我为什么要这样做。这没什么特别重要的。我有一个用 vector 和指向 vector 的迭代器初始化的对象。如果我可以只用迭代器初始化对象,那将是可爱和方便的,因为这样我就可以将 vector::iterator 直接转换为该对象(这听起来很奇怪,但在特定情况下确实有意义) .但这根本不重要。

最佳答案

我不这么认为。如果迭代器必须保留指向其所属容器的引用/指针,那么就不可能将它们优化为轻量级指针(这可以通过容器来保证连续存储,如 vector 等)。

关于c++ - 查找 STL 迭代器的所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/375598/

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