c++

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

小樊
94
2024-09-16 16:34:29
栏目: 云计算

是的,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来存储这些对象。然后,我们向向量中添加了两个对象,并遍历向量以打印每个对象的值。

0
看了该问题的人还看了