阅读量:0
是的,C++中的std::vector
可以存储自定义类型。为了实现这一点,你需要确保你的自定义类型满足一些基本要求,例如具有默认构造函数、拷贝构造函数和析构函数。这样,std::vector
就可以在需要时创建、复制和销毁你的自定义类型的对象。
下面是一个简单的示例,展示了如何使用std::vector
存储自定义类型:
#include<iostream> #include<vector> class MyClass { public: int value; // 默认构造函数 MyClass() : value(0) {} // 拷贝构造函数 MyClass(const MyClass& other) : value(other.value) {} // 析构函数 ~MyClass() {} }; int main() { std::vector<MyClass> myVector; // 向向量中添加对象 MyClass obj1, obj2; obj1.value = 1; obj2.value = 2; myVector.push_back(obj1); myVector.push_back(obj2); // 访问向量中的对象 for (const auto& obj : myVector) { std::cout << "Value: "<< obj.value<< std::endl; } return 0; }
在这个示例中,我们定义了一个名为MyClass
的自定义类型,并在main
函数中创建了一个std::vector
来存储这些对象。然后,我们向向量中添加了两个对象,并遍历向量以打印每个对象的值。