この分野の既存の質問/回答はそれぞれ微妙に異なっているようです。
イテレータを使用してshared_ptr<vector<Point>> profile
ループする があります。shared_ptr<Point>
さまざまな目的でループの外側を保持したいのですが、構文に苦労しています。教えてください。
以下に基本的な例を示します。
shared_ptr<Point> peak;
for (vector<Point>::iterator point=profile->begin(); point!=profile->end(); point++)
{
...
peak = shared_ptr<Point>(*point); // fails
...
}
NBへのプレーンな参照/ポインターを使用するのPoint
は簡単だと思いますが、特にヒープが関係している場合は、これを避けようとしています。この場合、インデックスを使用できることも認識していますが、これはコンテナー クラス間での転送が難しくなります。