我们有一个向量,但不清楚调用了哪个构造函数
We have a vector but is not clear which the constructor is called
这里调用哪个构造函数?
std::vector<bool> v(256, false);
四个构造函数的容器向量:
default (1)
explicit vector (const allocator_type& alloc = allocator_type());
fill (2)
explicit vector (size_type n, const value_type& val = value_type(),
const allocator_type& alloc = allocator_type());
range (3)
template <class InputIterator>
vector (InputIterator first, InputIterator last,
const allocator_type& alloc = allocator_type());
copy (4)
vector (const vector& x);
构造函数中的布尔参数在哪里?
此构造函数将被调用:
explicit vector (size_type n, const value_type& val = value_type(),
const allocator_type& alloc = allocator_type());
value_type
是向量所包含的元素类型的typedef。对于std::vector<bool>
,value_type为bool
。所有256个元素都将填充false
值。
来自C++参考:
val-填充容器的值。容器中的n个元素中的每一个都将初始化为该值的副本。成员类型value_type是容器中元素的类型,在vector中定义为其第一个模板参数(T)的别名。
http://www.cplusplus.com/reference/vector/vector/vector/
相关文章:
- 在c++中使用向量时,如何调用构造函数和析构函数
- C++:考虑但不调用构造函数的特殊性
- 对象实例化调用构造函数的次数太多
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- C ++:通过大括号调用构造函数?
- 不能调用构造函数
- 赋值 boost::intrusive_ptr 而不调用构造函数?
- 在模板化类的构造函数中调用构造函数
- 如何为 std::vector 分配内存,然后稍后为某些元素调用构造函数?
- 为什么从另一个构造函数内部调用C++构造函数不修改类变量?
- 静态 std::map instatiation 在类的方法中调用构造函数吗?
- 有没有一种简单的方法可以在对象向量上调用构造函数?
- 我不明白在这个例子中什么时候调用构造函数
- 调用c++构造函数的不同方法
- 调用构造函数与将内联常量定义为默认参数
- 如何通过 Rust FFI 调用C++构造函数?
- "new"运算符是否总是调用构造函数?
- 无法调用构造函数
- 使用 "()" 调用构造函数不同于"{}"
- 确定是调用构造函数还是强制转换运算符的因素