我寻找了相同类型的问题,但没有找到问题的答案(存在问题):我应该选择哪种类型的钩子来控制列表中的对象?我在指针和迭代器之间摇摆不定。
容器在开始时已装满,之后不应调整大小。钩子是我用来根据用户的突发奇想在我的对象之间切换并在我的算法中只操纵一个变量的方式。
在所有情况下,我都必须通过一个迭代器来找到要挂钩的正确对象。但是哪一个是最佳实践/使用?
// 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;
与迭代器相反,指针不允许访问邻居,但可能不安全。最好的做法是什么?