如何处理和遍历这个列表?
How to handle and iterate through this list?
我有这种类型的列表:
std::list<MyClass*>*
我想遍历这个列表,我也想调用 MyClass 的方法,我想做这样的事情:
std::list<MyClass*>* elements;
for (?)
{
std:: cout << elements[i]->Membermethod(); << std::endl;
}
我该怎么做?
std::list<MyClass*>* elements;
for (auto it = elements->begin(); it != elements->end(); ++it)
{
std::cout << (*it)->Membermethod() << std::endl;
}
请注意,强烈建议不要将原始指针放入集合中,请使用 std::shared_ptr 或 std::unique_ptr
更干净(也在 c++11 中)是 'ranged for'
for (auto pel : *elements) {
std::cout << (*pel)->Membermethod() << std::endl;
}
我有这种类型的列表:
std::list<MyClass*>*
我想遍历这个列表,我也想调用 MyClass 的方法,我想做这样的事情:
std::list<MyClass*>* elements;
for (?)
{
std:: cout << elements[i]->Membermethod(); << std::endl;
}
我该怎么做?
std::list<MyClass*>* elements;
for (auto it = elements->begin(); it != elements->end(); ++it)
{
std::cout << (*it)->Membermethod() << std::endl;
}
请注意,强烈建议不要将原始指针放入集合中,请使用 std::shared_ptr 或 std::unique_ptr
更干净(也在 c++11 中)是 'ranged for'
for (auto pel : *elements) {
std::cout << (*pel)->Membermethod() << std::endl;
}