是的,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
來存儲這些對象。然后,我們向向量中添加了兩個對象,并遍歷向量以打印每個對象的值。