c++ vector能否存储自定义类型

avatar
作者
筋斗云
阅读量: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来存储这些对象。然后,我们向向量中添加了两个对象,并遍历向量以打印每个对象的值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!