溫馨提示×

c++ vector能否存儲自定義類型

c++
小樊
82
2024-09-16 16:34:29
欄目: 云計算

是的,C++中的std::vector可以存儲自定義類型。為了實現(xiàn)這一點,你需要確保你的自定義類型滿足一些基本要求,例如具有默認(rèn)構(gòu)造函數(shù)、拷貝構(gòu)造函數(shù)和析構(gòu)函數(shù)。這樣,std::vector就可以在需要時創(chuàng)建、復(fù)制和銷毀你的自定義類型的對象。

下面是一個簡單的示例,展示了如何使用std::vector存儲自定義類型:

#include<iostream>
#include<vector>

class MyClass {
public:
    int value;

    // 默認(rèn)構(gòu)造函數(shù)
    MyClass() : value(0) {}

    // 拷貝構(gòu)造函數(shù)
    MyClass(const MyClass& other) : value(other.value) {}

    // 析構(gòu)函數(shù)
    ~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函數(shù)中創(chuàng)建了一個std::vector來存儲這些對象。然后,我們向向量中添加了兩個對象,并遍歷向量以打印每個對象的值。

0