我有這種型別的串列:
std::list<MyClass*>*
我想遍歷這個串列,我也想呼叫 MyClass 的方法,我想做這樣的事情:
std::list<MyClass*>* elements;
for (?)
{
std:: cout << elements[i]->Membermethod(); << std::endl;
}
我該怎么做?
uj5u.com熱心網友回復:
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 中)是“范圍為”
for (auto pel : *elements) {
std::cout << (*pel)->Membermethod() << std::endl;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425943.html
