【发布时间】:2014-06-23 13:48:14
【问题描述】:
我正在尝试创建一个类,该类维护一个固定大小的指向托管对象的唯一指针向量,如下所示:
std::vector<std::unique_ptr<Myclass>> myVector;
向量的初始化如下:
myVector.resize(MAX_OBJECTS,nullptr);
现在,我需要做的是能够根据请求删除存储的唯一指针之一,而不会影响向量的大小。
我还需要安全地将元素添加到向量中,而不使用 push_back 或 emplace_back。
提前致谢。
编辑:我希望向量具有恒定大小,因为我希望能够在恒定时间内添加和删除元素。
【问题讨论】:
-
那么应该在哪里添加元素?第一个
nullptr空间?还是到特定的索引? -
如果你需要一个固定大小的数组,你可能想使用
std::array<>。 -
为什么向量的大小不变很重要?
-
数组中指针的顺序重要吗?您打算如何检测指针是否仍然存在?
标签: c++ pointers vector unique-ptr