vector存储静态类指针
时间: 2024-10-16 10:10:30 浏览: 17
vector的原理以及用于什么地方
在C++中,`vector`是一个动态数组容器,它可以存储任意类型的对象,包括静态类的指针。静态类是指那些在其作用域范围内只有一个实例的类,通常用于全局共享资源。当你将静态类的指针放入`vector`中时,可以管理这个单一的实例,并通过`vector`的遍历和操作功能来进行控制。
例如:
```cpp
#include <iostream>
#include <vector>
class StaticClass {
public:
static StaticClass& getInstance() {
static StaticClass instance;
return instance;
}
void doSomething() {
std::cout << "Doing something...\n";
}
};
int main() {
std::vector<StaticClass*> ptrVector;
// 添加静态类指针
ptrVector.push_back(&StaticClass::getInstance());
for (auto* ptr : ptrVector) {
(*ptr)->doSomething(); // 调用静态类的方法
}
return 0;
}
```
在这个例子中,`ptrVector`可以存储`StaticClass`的指针,尽管它们实际上是指向同一实例的。每个插入的指针都会指向这个唯一的实例。
阅读全文