获取指向当前BOOST_FOREACH元素的指针

时间:2016-02-29 06:31:10

标签: c++ boost boost-foreach

给出以下简单代码:

list<MyClass> m_listOfOBjects;
....
MyClass* ptrToMyClass;
BOOST_FOREACH(MyClass object, m_listOfObjects)
{
      ptrToMyClass = &object
}

我的问题是,ptrToMyClass现在是指向时间对象还是指向列表中的真实对象。如果是第一种情况,是否有某种方法可以获得指向列表中对象的指针而不是BOOST_FOREACH循环创建的时间变量?

1 个答案:

答案 0 :(得分:1)

作为声明MyClass objectobject将是副本,而不是列表中的对象。尝试使用参考,

BOOST_FOREACH(MyClass& object, m_listOfObjects)
{
      ptrToMyClass = &object;
}