数组元素保序c语言,STL之Vector(不定长数组)

vector v1 vector保存类型为T的对象。默认构造函数。v1为空

vector v2(v1) v2是v1的一个副本

vector v3(n,i) v3包括n个值为i的元素

vector v4(n) v4含有值初始化的元素的n个副本

假设没有指定元素的初始化式。那么标准库将自行提供一个元素初始值进行值初始化。

这个由库生成的初始值将用来初始化容器中的每一个元素,详细的值为何。取决于存储在vector中元素的数据类型。

假设vector保存内置类型如int。那么标准库将用0值创建元素初始化式

vector vv(10);      //10个元素,每一个被初始化为0

假设vector保存的是含有构造函数的类类型的元素,标准库将用该类型的默认的构造函数创建元素的初始化式

vector vvvv(10)      //10个元素,每一个被初始化为空字符串

还有第三种情况,元素类型可能是未定义构造函数的类类型。这样的情况下。标准库仍产生一个带初始值的对象,这个对象的每一个成员进行了值初始化。

除此之外。若

vector vv{10};      //初始化第一个元素为10。其余依照默认值(0)初始化

2.vector对象的操作

几种重要的操作

v.empty() 假设v为空,则返回true。否则返回false

v.size() 返回v中元素的个数

v.push_back() 在v的末尾添加一个值为t的元素

v[n] 返回v中位置为n的元素

v1=v2 把v1中的元素替换为v2中元素的副本

v1==v2 假设v1与v2相等,则返回true

!=,,>= 保持这些操作符惯有含义

size()返回对应vector类定义的size_type的值。

vector::size_type             //error

vector::size_type    //ok

push_back()函数将新元素加入到vector最后面。

你可能感兴趣的:(数组元素保序c语言)