gpt4 book ai didi

c++ - Hook std::list 中的对象。指针还是迭代器?

转载 作者:搜寻专家 更新时间:2023-10-31 01:48:32 27 4
gpt4 key购买 nike

我寻找相同类型的问题,但没有找到问题的答案(存在问题):我应该选择哪种类型的 Hook 来控制列表中的对象?我在指针和迭代器之间摇摆不定。

容器在开始时被填充,之后不应调整大小。钩子(Hook)是我用来根据用户的心血来潮在我的对象之间切换并在我的算法中仅操纵一个变量的方式。

在所有情况下,我都必须通过一个迭代器来找到要 Hook 的正确对象。但哪一个是最佳实践/用途?

// 10 object list
std::list <Object> List(10);

std::list <Object>::iterator it = List.begin();
Object *pt = NULL;

// Select the 3rd object
advance(it, 3);
pt = &(*it);

// Access to object member...
it->member;
pt->member;

与迭代器相反,指针不允许访问邻居,但可能不安全。什么是最佳实践?

最佳答案

这取决于你想用“钩子(Hook)”做什么。如果你使用一个迭代器,它可以用作移动的起点在列表中向前或向后。如果你使用指针,你可以也指向列表之外的对象。最后,它取决于您期望代码如何发展。

关于c++ - Hook std::list 中的对象。指针还是迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671483/

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