我如何告诉 STL,特别是对于 vector 中的方法 resize()
,使用默认构造函数以外的构造函数以及使用哪些参数来初始化对象?
例如:
class something {
int a;
something (int value);
}
std::vector<something> many_things;
many_things.resize (20);
更一般地,当 STL 需要创建对象并将参数传递给该构造函数时,如何强制 STL 使用我的构造函数?
在我的情况下,添加默认构造函数不是一种选择,我不希望使用指针数组来解决问题。
最佳答案
使用 2 参数重载:
many_things.resize(20, something(5));
关于c++ - STL vector 和 c++ : how to . 在没有默认构造函数的情况下调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1687152/