zoukankan      html  css  js  c++  java
  • 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操作实现。赋值操作符首先删除其做操作数容器中的元素,然后将右操作数容器的所有元素插入到左边容器中。

  • 相关阅读:
    html让表格边框样式为细线
    详解OpenGL中各种绘制集合图形函数
    php利用empty函数判断mysql表单是否为空
    详解OpenGL中各种绘制集合图形函数实现代码:
    约瑟夫环C语言实现源代码
    Delphi 2005 以上版本GIF动画播放设置
    INNO SETUP注册DLL文件
    DELPHI 判断文件夹是否存在,并创建
    BusinessSkinForm汉化文件“bsconst.pas”
    DELPHI2010安装Comport4
  • 原文地址:https://www.cnblogs.com/SunkingYang/p/11049231.html
Copyright © 2011-2022 走看看