私は、コンテナが所有していないポインタのベクトルを持っています。ポインタのターゲット上でアルゴリズムを使用するにはどうすればよいですか?私はブーストのptr_vectorを使用しようとしましたが、スコープから外れるとポインタを削除しようとします。ここでどのようにポインタのベクトルでSTLアルゴリズムを使用するのですか
が動作する必要がありますいくつかのコードです:
vector<int*> myValues;
// ... myValues is populated
bool consistent = count(myValues.begin(), myValues.end(), myValues.front()) == myValues.size();
auto v = consistent ? myValues.front() : accumulate(myValues.begin(), myValues.end(), 0)/myValues.size();
fill(myValues.begin(), myValues.end(), v);
// etc.
私はループのために働くだろうと実感が、これは場所の束で起こるので、単項アダプタのいくつかの種類?私は1つを見つけることができませんでした。前もって感謝します!
あなたの質問に未だ承認されていない将来のC++標準の機能を使用すると、得られる回答が制限されます。あなたの質問が現在の標準ライブラリ、Boostの使用、またはC++ 0xの新機能に関するものかどうかは非常に不明です。 –
vはintの平均値であると考えられますが、コピーラインはvにコピーしようとします。したがって、vはポインタまたはイテレータでなければなりません。 –
ああ、最後の行が間違っていた...私は "コピー"の代わりに "塗りつぶし"を書くつもりだった。 –