是的,std::vector可以用于非默认构造的类。std::vector是C++标准库中的一个动态数组容器,它可以存储任何类型的对象,包括非默认构造的类。当你使用std::vector来存储非默认构造的类时,你需要确保提供类的构造函数,以便在添加新元素时正确地初始化它们。
例如,假设你有一个名为MyClass的非默认构造类,它需要一个整数参数来构造。你可以使用std::vector来存储这个类的对象,如下所示:
#include<vector>
#include "MyClass.h"
int main() {
std::vector<MyClass> myVector;
myVector.emplace_back(42); // 使用整数42构造一个MyClass对象并将其添加到vector中
return 0;
}
在这个例子中,我们使用emplace_back方法将一个新的MyClass对象添加到vector中,同时提供了一个整数参数来构造该对象。这样,我们就可以使用std::vector来存储和管理非默认构造的类。
领取专属 10元无门槛券
手把手带您无忧上云