c++ - STL vector 和 c++ : how to . 在没有默认构造函数的情况下调整大小?

标签 c++ stl constructor vector default

我如何告诉 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/

相关文章:

c++ - 无限循环 - 顶部还是底部?

c++ - 如何从 C++ 容器中获取随机元素?

c++ - 帮助改进这个INI解析代码

hash - 为什么 hastable 的 rehash 复杂度在最坏的情况下可能是二次方的

php - 为什么 PHP 没有默认构造函数?

c# - WCF [DataContract] 类是否需要空白构造函数?为什么?

c++ - Tic Tac Toe 和 Minimax - 在微 Controller 上创建不完美的 AI

c++ - Arduino WiFi101 库 - 将 WiFi 和 WiFiClient 传递给子类

c++ - FBO + 纹理 : strange results from offscreen generation of geometry data

c++错误错误C2512没有合适的默认构造函数可用