恐怕在这个领域的每个存在的问题/答案似乎是微妙的不同:如何为shared_ptr的矢量投:: <T>迭代器(上堆)<T>
我有一个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
...
}
N.B.我想使用一个简单的参考/指针Point
会很简单,但我试图避免这种情况,尤其是涉及堆时。我也意识到,在这种情况下我可以使用索引,但这在容器类之间传递的可能性较小。
谢谢。请问shared_ptr不存在,直到向量本身超出范围? –
mosi
2013-03-18 14:50:28
我不得不查看代码的其余部分以查看范围。 – Nick 2013-03-18 15:56:20
好的,我会保重的。感谢您的建议。 – mosi 2013-03-19 12:03:23