• C++ Primer 第四版读书笔记(八)之顺序容器(续)


    3.6 访问元素

    如果容器非空,那么容器类型的front和back成员将返回容器内第一个或最后一个元素的引用。

    访问顺序容器内元素的操作
    c.back() 返回容器c的最后一个元素的引用。如果c为空,则该操作未定义
    c.front() 返回容器c的第一个元素的引用。如果c为空,则该操作未定义
    c[n] 返回下标为n的元素的引用
    如果n<0或n>c.size(),则该操作未定义
    只适用于vector和deque容器
    c.at[n] 返回下标为n的元素的引用。如果下标越界,则该操作未定义
    只适用于vector和deque容器

    3.7 删除元素

    删除顺序容器内元素的操作
    c.erase(p) 删除迭代器p所指向的元素
    返回一个迭代器,它指向被删除元素后面的元素。如果p指向容器内的最后一个元素,则
    返回的迭代器指向容器的超出末端的下一位置。如果p本身就是指向超出末端的下一位置
    的迭代器,则该函数未定义
    c.erase(b, e) 删除迭代器b和e所标记范围内的所有元素
    返回一个迭代器,它指向被删除元素段后面的元素。如果e本身就是指向超出末端的下一位置的
    迭代器,则返回的迭代器也指向容器的超出末端的下一位置
    c.clear() 删除容器c内的所有元素。返回void
    c.pop_back() 删除容器c的最后一个元素。返回void。如果c为空容器,则该函数未定义
    c.pop_front() 删除容器c的第一个元素。返回viod。如果c为空容器,则该函数未定义

    3.7.1 删除第一个或最后一个元素

    pop_front和pop_back函数用于删除容器内的第一个和最后一个元素。但vector容器类型不支持pop_front操作。这些操作删除指定的元素并返回void。

    pop_front和pop_back函数的返回值并不是删除的元素值,而是void。要获取删除的元素值,则必须在删除元素之前调用front或back函数。

    3.7.2 删除容器内的一个元素

    erase操作不会检查它的参数。程序员必须确保用作参数的迭代器或迭代器范围是有效的。

    3.8 赋值与swap

    与赋值相关的操作符都作用于整个容器。处swap操作外,其他操作都可以用erase和insert操作实现。赋值操作符首先删除其做操作数容器中的元素,然后将右操作数容器的所有元素插入到左边容器中。

  • 相关阅读:
    Dubbo服务者消费者提供者案例实现
    spring核心组件
    spring为什么要注入接口
    小菜鸡进阶之路_Second week之元组、列表、集合、字典对比.
    小菜鸡进阶之路-First week
    光学公式推到——(物象位置) 1/u+1/v=1/f
    C#问题——调用事件时其他信息: 未将对象引用设置到对象的实例。
    工业相机全局曝光和卷帘曝光的区别
    相机加接圈的作用和缺点
    C#——数组维度/行数/列数/长度区别
  • 原文地址:https://www.cnblogs.com/SunkingYang/p/11049231.html
Copyright © 2020-2023  润新知