如何处理和遍历这个列表?

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;

}