将指针或一系列指针存储在动态阵列中
Storing pointer or array of pointers in a dynamic array
我需要存储一个动态的元素数组(std :: vector(。这些元素可以是单个指针,也可以是一系列指针。
我不想要多维阵列,因为它会导致很多分配,因为几乎所有元素都是单个指针。
我想这样做,因为我想在随机位置上插入向量或插入元素,但是不应分开向量的某些元素。
我目前在想的是:
struct Element
{
bool isArray;
union
{
void* pointer;
std::vector<void*> pointers;
};
};
std::vector<Element> elements;
还有其他好的替代方案吗?
如果您存储向量,则每次将新的指针添加到风险重新排列的元素之一中,这可能会花费一些时间,具体取决于元素的数量。p>我建议您存储矢量>,并且,在元素结构中,我建议您存储boost ::任何而不是void*,它往往更安全,更易于处理,并且更易于查找指针的课程。
相关文章:
- 如果非动态变量被指针引用,何时超出范围?
- 在对象指针上调用 Delete 是否会递归删除其动态分配的成员
- 指针的 C++ 动态数组 - 何时需要使用它?
- 使用指针在存在特征库的情况下动态分配 c++ 中的矩阵
- 指针类型类成员的动态强制转换的恒定性是什么?
- 删除包含包含动态对象的 STL 容器的智能指针
- 带有模板问题的指针的动态数组
- 存储指向动态数组元素的指针
- 动态维度数组的 C++ 别名指针
- 尝试创建指向动态分配的字符数组的指针
- 我如何用智能指针动态升起和降低
- 将指针添加到成员对象中的指针动态阵列
- 指针动态分配(核心倾倒)
- 如何在C++中增大和缩小双指针动态数组
- 指向指针数组的指针(动态分配)
- 使用指针动态数组同时输出整数值列表
- 从方法指针动态创建泛型函数指针,推导返回值和参数
- 使用指针动态分配数组
- 双指针动态分配
- 如何使用指针动态分配内存