C++标准库vector

#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;

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smart_cat

你的鼓励将是我写作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值