boost :: ptr_vector引用或指针表示法

时间:2011-12-20 08:48:03

标签: c++ pointers boost c++11

//this returns a boost::ptr_vector<Ordre>     
auto& vec = ptf.listeOrdre().liste();

auto it = std::find_if( vec.begin(), vec.end(),
      [message](Ordre& ordre){return ordre.id() == message->id();}
  );

if( it == vec.end())
{
   return;
}

Ordre& ordre = *it;

我对“&amp;”有疑问或“*”我应该使用lambda参数和最后一行代码。

有人看错了吗?

我在制作中崩溃,我怀疑这段代码

由于

1 个答案:

答案 0 :(得分:1)

最后一行看起来是正确的。

ptf.listeOrdre()可能出现一个错误。如果它返回一个值,它将被复制。然后vec将引用一个临时对象。

lambda的参数应为const&,但我怀疑这是问题。

除此之外,这段代码没有任何问题。