美文网首页c++ primer 5th
第9章 顺序容器

第9章 顺序容器

作者: 菜鸡也会飞 | 来源:发表于2017-06-20 23:16 被阅读0次

    三、 顺序容器操作

    1. 删除元素


      image.png
    2. 容器操作可能使迭代器失效
    • 添加元素
      • vector/string:若存储空间重新分配→指针/引用/迭代器均失效;若没有重新分配→插入位置之后的指针/引用/迭代器/失效
      • deque:插入到首尾位置之外→指针/引用/迭代器均失效;首位位置插入→迭代器失效,指向存在元素的引用和指针不失效。
      • list/forward_list:指针/引用/迭代器均有效
    • 删除元素→指向被删除元素的指针/引用/迭代器均失效
      • vector/string:指向被删除元素之前→指针/引用/迭代器均失效;指向被删除元素之后→指针/引用/迭代器均失效
      • deque:删除到首尾位置之外→指针/引用/迭代器均失效;删除尾元素→尾后迭代器失效,其他迭代器、引用和指针不失效;删除首元素→其他迭代器、引用和指针不受影响
      • list/forward_list:指向其他位置的指针/引用/迭代器仍然有效
    • 使用失效的迭代器、指针、引用是严重错误管理迭代器
    • 编写改变容器的循环程序→每次循环都更新迭代器、引用和指针
    • 不要保存.end()返回的迭代器,而是每次调用.end()

    五、 额外的string操作

    • 数值转换
    • to_string(val):返回val的string表示,val可以是任何算数类型
    • stoi(s,p,b):返回s的起始子串(表示整数内容)的数值,返回值类型为int。b表示转换所用基数,默认为10。p是size_t指针,用来保存s中第一个非数值字符的下标,p默认为0。类似的还有stol()、stoul()。。。
    • stof(s,p) :返回值类型为浮点数
    • string搜索操作
    • s.find(args),查找s中args第一次出现的位置
    • s.rfind(args),查找s中args最后一次出现的位置
    • 修改string的操作
    • s.insert(pos,args)
    • s.erase(pos,len)
    • s.assign(args)
    • s.append(args)
    • s.replace(range,args)

    相关文章

      网友评论

        本文标题:第9章 顺序容器

        本文链接:https://www.haomeiwen.com/subject/uvgaqxtx.html