c ++ struct中的访问列表

时间:2013-11-05 21:16:26

标签: c++

struct nodepoint
    {
        bool State_ON;
        double xxx;
        double yyy;
        list<float> P;


       // node *next;
    }node [numMS];

list <nodepoint> eventlist;

=========================

如何访问上面的事件列表中的P列表列表?

例如,如果我想打印P列表中的所有元素。

谢谢

2 个答案:

答案 0 :(得分:3)

使用std::list访问项目,您可以使用迭代器。例如:

C ++ 11:

auto itr = eventlist.begin();

for (auto x : itr->P)
    cout << x << endl;

在C ++ 11之前:

list<nodepoint>::iterator itr = eventlist.begin();

for (list<float>::iterator itr2 = itr->P.begin(); itr2 != itr->P.end(); itr2++)
   cout << *itr2 << endl;

我认为这些清单不是空的。

答案 1 :(得分:0)

例如

eventlist.back().P.back();

eventlist.back().P.front();

eventlist.front().P.front();

eventlist.front().P.back();

for ( nodepoint &nd : eventlist )
{
   for ( float x : nd.P ) std::cout << x << ' ';
   std::cout << std::endl;
}

或者您可以使用迭代器来访问列表中间的元素。