【发布时间】:2013-03-06 22:27:23
【问题描述】:
恐怕这个领域的每个现有问题/答案似乎都有细微的不同:
我有一个使用迭代器循环的 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
...
}
注意我想使用指向Point 的普通引用/指针会很简单,但我试图避免这种情况,尤其是在涉及堆时。我也意识到在这种情况下我可以使用索引,但这在容器类之间的可转移性较差。
【问题讨论】:
标签: c++ boost iterator shared-ptr