Получить указатель на текущий элемент BOOST_FOREACH

Учитывая следующий простой код:

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

Мой вопрос, указывает ли ptrToMyClass на временный объект или на реальный объект в списке. Если это первый случай, есть ли какой-нибудь способ получить указатель на объект в списке вместо временной переменной, созданной циклом BOOST_FOREACH?

1

Решение

Как декларация MyClass object, object будет копия, а не объект в списке. Попробуйте использовать ссылку,

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]