如何从指针指向的对象列表中获取数据?

std::list<object> *myList;

std::list<object>::iterator itr;

for(itr = myList.begin(); itr != myList.end(); itr++) {
  std::cout << itr->data;
}

最佳答案

嗯假设object有一个data成员可以按原样发送到stdout,则您应该编写的是

std::list<object> *myList;

std::list<object>::iterator itr;

for(itr = myList->begin(); itr != myList->end(); itr++) {
  std::cout << itr->data;
}

但是,老实说,在C++ 11中,这样写会更好:
std::list<object> *myList;

for(const object & obj : *myList) {
  std::cout << obj.data;
}

这样您就不需要迭代器声明了...

08-17 04:18
查看更多