C++标准库vector

来源:互联网 发布:光环国际 大数据 编辑:程序博客网 时间:2024/05/16 19:48
#include <iostream>#include <vector>using namespace std;    //using std::vector;int main(){    //1.vector对象的定义和初始化    //vector<T> v1;       //vector 保存类型为 T 对象。默认构造函数 v1 为空。    //vector<T> v2(v1);   //v2 是 v1 的一个副本。    //vector<T> v3(n, i); //v3 包含 n 个值为 i 的元素。    //vector<T> v4(n);    //v4 含有值初始化的元素的 n 个副本。    //一些有自定义构造函数但没有默认构造函数的类,在初始化这种类型的 vector 对象时,程序员就不能仅提供元素个数,还需要提供元素初始值。    //2.vector对象的操作    //v.empty()               如果 v 为空,则返回 true,否则返回 false。    //v.size()                返回 v 中元素的个数。    //v.empty()               如果 v 为空,则返回 true,否则返回 false。    //v.push_back(t)          在 v 的末尾增加一个值为 t 的元素。    //v[n]                    返回 v 中位置为 n 的元素。    //v1 = v2                 把 v1 的元素替换为 v2 中元素的副本。    //v1 == v2                如果 v1 与 v2 相等,则返回 true。    //!=, <, <=, >, and >=    保持这些操作符惯有的含义。    //vector<int> vec(8);    //vector<int>::size_type size = vec.size();    //string word;    //vector<string> text;    //while (cin >> word)    //{    //    text.push_back(word);.    //}    //下标操作不添加元素,只能用于获取已经存在的元素,所以以下写法是错误的    //vector<int> vec1;    //for (vector<int>::size_type index = 0; index != 10; index++)    //{    //    vec1[index] = index;    //}       //3.begin和end操作    //由 end 操作返回的迭代器指向 vector 的“末端元素的下一个”。 “超出末端迭代器”(off-the-end iterator) 。表明它指向了一个不存在的元素。    //如果 vector 为空,begin 返回的迭代器与 end 返回的迭代器相同。    //vector<int> vec2(10, 100);    //for (vector<int>::iterator it = vec2.begin(); it != vec2.end(); it++)    //{    //    *it = 0;    //}        //4.vector<int>::const_iterator 和 const vector<int>::iterator的区别    //前者是不能用*it来赋值,后者是不能对iterator使用自增自减    //5.迭代器的算术操作    //该表达式用来计算两个迭代器对象的距离,该距离是名为 difference_type 的 signed 类型 size_type 的值,    //这里的 difference_type 是 signed 类型,因为减法运算可能产生负数的结果。该类型可以保证足够大以存储任何两个迭代器对象间的距离。    //iter + n;    //iter - n;     //iter1 - iter2    return 0;}

0 0