std::vector<Base*>增加变量
时间: 2024-10-14 22:03:04 浏览: 12
C++箴言:将强制转型减到最少
在C++中,`std::vector` 是一种动态数组,它可以存储任意类型的对象。如果你想在 `std::vector<Base*>`(基类指针向量)中增加一个变量,你可以按照以下步骤操作:
1. 首先,创建一个 `Base*` 类型的对象,它指向你要添加的新对象实例。假设 `Derived` 是 `Base` 的派生类:
```cpp
Derived* derivedObject = new Derived();
```
2. 然后,使用 `push_back()` 函数将该指针添加到向量的末尾:
```cpp
unorderedMap.push_back(std::make_pair(derivedObject, std::make_pair(std::vector<double>(), std::vector<int>())); // 假设你有额外的数据需要关联
```
这里,`std::make_pair()` 创建了一个包含指针和其它数据的 pair,可以根据需要替换数据。
3. 注意,由于是内存管理,别忘了在不再需要时释放对象的内存:
```cpp
// 当不再需要 derivedObject 时
delete derivedObject;
```
相关问题:
1. 如何在向量中插入已存在的对象指针?
2. 使用 `push_back()` 添加元素时,如何避免重复插入相同的指针?
3. 如果向量存储的是自定义对象,如何确保它们能被正确地比较?
阅读全文