私はこのアイテムに似た何かをしています正しいBOOST_FOREACHの使用法?
ただし、返されたリストはboost::shared_ptrでラップされています。BOOST_FOREACHループの前にリストを変数に割り当てないと、リストが一時的なものであるためにリストが破棄されるため、実行時にクラッシュします。
boost::shared_ptr< list<int> > GetList()
{
boost::shared_ptr< list<int> > myList( new list<int>() );
myList->push_back( 3 );
myList->push_back( 4 );
return myList;
}
じゃあ後で..
// Works if I comment out the next line and iterate over myList instead
// boost::shared_ptr< list<int> > myList = GetList();
BOOST_FOREACH( int i, *GetList() ) // Otherwise crashes here
{
cout << i << endl;
}
変数「myList」を導入せずに上記を使用できるようにしたいと思います。これは可能ですか?