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()