Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ stl向量的默认构造函数_C++_Stl - Fatal编程技术网

C++ stl向量的默认构造函数

C++ stl向量的默认构造函数,c++,stl,C++,Stl,默认构造函数的签名为 explicit vector (const allocator_type& alloc = allocator_type()); 怎么读这个? 为什么不加前缀 template <class ....> 什么意思 是否所有stl容器类都已以模板作为前缀 如果向量后面没有模板指令,它如何定义用于向量每个元素的类型 有人能用默认方法演示一个例子吗 为什么它的前缀不是模板 因为它在vector类模板的定义中。在类模板中,不指定每个成员也是一个模板。向成员

默认构造函数的签名为

explicit vector (const allocator_type& alloc = allocator_type());
怎么读这个? 为什么不加前缀

template <class ....>
什么意思

是否所有stl容器类都已以
模板作为前缀

如果向量后面没有模板指令,它如何定义用于向量每个元素的类型

有人能用默认方法演示一个例子吗

为什么它的前缀不是
模板

因为它在
vector
类模板的定义中。在类模板中,不指定每个成员也是一个模板。向成员添加
模板
规范将为其提供额外的模板参数,以及类参数,这些参数对于该构造函数是不需要的

第一个也是唯一的论点是什么意思


这是一个可选参数,可用于提供自定义内存分配器,从而使您能够更好地控制向量如何使用内存。通常,您会错过该参数并获得默认值。默认值是
vector::allocator\u type
的实例,它是
std::allocator
的别名。这将使用全局
new
delete
运算符从空闲存储区分配内存。

因为它是构造函数声明,在类内部声明。因为
vector
是类模板,即它是
vector
类(如
vector
的模板)可以创建(实例化)。在
类向量
之前应该有一个
模板
。我不知道第一个参数的意义是什么
const allocator_type& alloc = allocator_type()