gpt4 book ai didi

C++ STL : list with Pointers - Iterator cannot access?

转载 作者:IT老高 更新时间:2023-10-28 22:32:10 24 4
gpt4 key购买 nike

我正在为一个包含我的“对象”对象指针的 STL 列表而苦苦挣扎。

我声明:

list<Object*> objectlist;

并通过以下方式插入:

this->objectlist.push_back(new Object(address,value,profit));

并尝试像在 map 和其他中一样进行迭代:

list<Object*>::iterator iter;

iter = this->objectlist.begin();

while(iter != this->objectlist.end())
{
iter->print();
}

其中 print() 是 Object 类的公共(public)方法;

这里有什么问题?

我无法通过迭代器访问列表中的对象?

最佳答案

你需要(*i​​ter)->print();

由于您有一个指向指针的迭代器,因此您必须首先取消引用迭代器(这会为您提供 Object*),然后箭头会取消引用 Object * 并允许调用打印。

关于C++ STL : list with Pointers - Iterator cannot access?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6454281/

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