遍历指向类的共享指针的向量可以通过以下步骤实现:
get()
获取指向实际对象的原始指针。下面是一个示例代码,展示了如何遍历指向类的共享指针的向量:
#include <iostream>
#include <vector>
#include <memory>
class MyClass {
public:
MyClass(int value) : data(value) {}
void printData() {
std::cout << "Data: " << data << std::endl;
}
private:
int data;
};
int main() {
std::vector<std::shared_ptr<MyClass>> vec;
// 向向量中添加共享指针
vec.push_back(std::make_shared<MyClass>(1));
vec.push_back(std::make_shared<MyClass>(2));
vec.push_back(std::make_shared<MyClass>(3));
// 遍历向量中的每个元素
for (const auto& ptr : vec) {
// 获取原始指针并执行操作
MyClass* obj = ptr.get();
obj->printData();
}
return 0;
}
在这个示例中,我们创建了一个存储指向MyClass
类的共享指针的向量vec
。然后,我们使用for循环遍历向量中的每个元素,并通过get()
函数获取原始指针。最后,我们调用printData()
函数打印每个对象的数据。
对于这个问题,腾讯云没有特定的产品或链接与之相关。
领取专属 10元无门槛券
手把手带您无忧上云