【发布时间】:2009-06-11 11:18:29
【问题描述】:
我刚刚开始使用boost::ptr_vector。我有一个 ptr_vector pctr 作为一个类 A 的成员,并希望另一个类 B 引用 pctr 中的一个元素。在构造 B 类的对象时,我想在 pctr 中存储一个指针。
由于指针容器不允许访问指针(但只能访问引用),我必须从 pctr 中获取引用的地址,然后将其存储在 B 类型的对象中。但是获取引用的地址似乎不直观。有更好的选择吗?
【问题讨论】:
-
其实也有同样的问题。将回到我之前的解决方案(带有显式删除的原始指针向量)。傻,真的。
-
@Cookie 实际上,直到现在(2011 年)我一直在使用指针容器。我使用reference_wrapper。我已经在我正在处理的项目的 wiki 中解释了这一点:sourceforge.net/apps/mediawiki/crackpot/…
-
好点,谢谢。如果您发现自己有一些空闲时间,那么三种备选方案之间的性能比较可能会很好。
标签: c++ boost pointer-container