c++ - 获取指向当前 BOOST_FOREACH 元素的指针

标签 c++ boost boost-foreach

给定以下简单代码:

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

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

最佳答案

作为声明MyClass 对象object 将是一个拷贝,而不是列表中的对象。尝试使用引用,

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

关于c++ - 获取指向当前 BOOST_FOREACH 元素的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35693246/

相关文章:

c++ - 使用 OpenCV 在 C++ 中绘制图像绿色分量的直方图

c++在参数中转发命名空间声明

c++ - 如何使用boost is_class 来判断一个对象是否是一个类?

c++ - 为什么 map 上的 BOOST_FOREACH 仅适用于 typedef

c++ - 使用 BOOST_FOREACH 遍历目录中的所有文件

c++ - 使用 boost::property_tree::string_path 访问值

c++ - 扫描一个字符串,(在发布和 Debug模式下产生不同的值)

c++ - 为什么部分特化不需要前向声明?

c++ - 使用 C++ Boost.Test 组织单元测试?

c++ - boost::asio 如何从客户端异步读取数据并定期写入数据(如果有)