当前位置: 首页 > wzjs >正文

贵州建设厅考试网站安全员秦皇岛中兵建设集团网站

贵州建设厅考试网站安全员,秦皇岛中兵建设集团网站,肇庆网站制作费用,做django后台网站一、顺序容器全家福 vector | deque | list | forward_list | array | string 每个容器都有自己的「超能力」和「弱点」,我们通过 六大操作维度 解剖它们! 二、操作详解与支持表 1. 构造与赋值 操作vectordequelistforward_listarraystringC c;✔️✔️✔…
一、顺序容器全家福

vector | deque | list | forward_list | array | string
每个容器都有自己的「超能力」和「弱点」,我们通过 六大操作维度 解剖它们!


二、操作详解与支持表
1. 构造与赋值
操作vectordequelistforward_listarraystring
C c;✔️✔️✔️✔️✔️
C c(n);✔️✔️✔️✔️✔️
C c(n, val);✔️✔️✔️✔️✔️
C c(begin, end);✔️✔️✔️✔️✔️
C c = {a,b,c};✔️✔️✔️✔️✔️✔️
c1 = c2✔️✔️✔️✔️✔️✔️

string专属技能

string s = "喵星人";  // 直接字符串字面量初始化
string s(5, 'A');    // "AAAAA"

2. 元素访问
操作vectordequelistforward_listarraystring
c.front()✔️✔️✔️✔️✔️✔️
c.back()✔️✔️✔️✔️✔️
c[n]✔️✔️✔️✔️
c.at(n)✔️✔️✔️✔️
c.data()✔️✔️✔️

string特有能力

cout << s[2];       // 访问字符(不检查越界)
cout << s.at(2);    // 越界抛异常
cout << s.data();   // 返回C风格字符串(等价c_str())

3. 增删元素
操作vectordequelistforward_listarraystring
push_back(val)✔️✔️✔️✔️(+=)
emplace_back(args)✔️✔️✔️
pop_back()✔️✔️✔️✔️
push_front(val)✔️✔️✔️
emplace_front(args)✔️✔️✔️
pop_front()✔️✔️✔️
insert(pos, val)✔️✔️✔️✔️✔️
emplace(pos, args)✔️✔️✔️✔️
erase(pos)✔️✔️✔️✔️✔️

string专属增删

s += "万岁";              // 尾部追加(等价push_back)
s.append("喵喵", 2);      // 追加部分字符串
s.insert(3, "❤️");       // 在位置3插入
s.erase(2, 3);           // 从位置2删除3个字符

4. 容量管理
操作vectordequelistforward_listarraystring
c.size()✔️✔️✔️✔️✔️✔️
c.empty()✔️✔️✔️✔️✔️✔️
c.resize(n)✔️✔️✔️✔️✔️
c.capacity()✔️✔️
c.reserve(n)✔️✔️
c.shrink_to_fit()✔️✔️✔️

string容量技巧

s.reserve(100);     // 预分配内存(避免频繁扩容)
s.shrink_to_fit();  // 释放多余内存(内存紧张时用)

5. 迭代器与算法
操作vectordequelistforward_listarraystring
begin()/end()✔️✔️✔️✔️✔️✔️
rbegin()/rend()✔️✔️✔️✔️✔️
算法兼容性✔️✔️✔️✔️

string特殊遍历

for (char ch : s) { ... }                  // 范围for循环
for (auto it = s.rbegin(); it != s.rend(); ++it) { ... } // 反向迭代

6. 专属技能(其他容器没有的!)
容器独门绝技示例
stringsubstr find replace c_strs.find("喵") s.substr(2)
listsplice merge uniquelist1.splice(it, list2)
array固定大小,栈内存分配array<int,5> arr;
vectordata()直接访问底层数组int* p = vec.data();

string的杀手锏

size_t pos = s.find("喵星人");    // 查找子串
s.replace(pos, 3, "汪星人");      // 替换子串
const char* cstr = s.c_str();    // 转C风格字符串

三、终极选择指南(含string)
需求推荐容器原因
需要随机访问+动态大小vector 或 string内存连续,访问快
高频头部操作deque 或 listdeque支持push_front
字符串处理string专为字符串优化
中间频繁插入删除listO(1)时间复杂度
固定大小数据array栈内存,无动态分配
内存敏感+预分配vector/stringreserve减少扩容开销

四、灵魂总结
  • string 是 vector<char> 的加强版
    拥有所有顺序容器的操作 + 专为字符串设计的接口(findsubstr等)

  • 性能关键点

    • string+=appendpush_back更高效(一次追加多个字符)

    • reserve预分配能避免多次内存重分配

  • 与其他容器的区别
    stringpush_back只能追加单个字符,而其他容器可以追加元素

http://www.dtcms.com/wzjs/829746.html

相关文章:

  • 定制网站系统大学生创新创业网站建设内容
  • 神木网站建设wordpress 做大型网站
  • 在深圳做网站平台需要什么备案wordpress汉化软件
  • 食品 药品 监督 网站 源码 phpwordpress多用户图库
  • python做的网站如何部署哈尔滨商城网站建设
  • 常州云计算网站建设和外国人做ic生意的网站
  • 帝国cms网站禅城专业网站建设公司
  • 大连中山网站建设怎么查网站的域名备案价格
  • 旅游电子商务网站开发方案房地产推广策略
  • 潮州市网站建设网站模板整站资源
  • 网站免费关键词如何做制作网站的心得
  • 广西住房建设厅网站企业年报查询官网入口
  • 郑州市网站设计公司哪个好音乐分享网站开发
  • google 网站打不开建网站的手机软件
  • 网站网站开发逻辑网站全新改版如何做
  • 360提示危险网站原因网站建设广告投放是什么
  • 华为手机网站建设策划方案论文项目建设对企业的意义
  • 网站后台服务器内部错误河北辛集市城乡建设管理局网站
  • 做网站 插件旅游景点网页制作
  • 网站百度搜不到python语言基础知识
  • react怎么做pc网站成都住建局官网个人住房信息查询
  • 做网站顾客提现金额后台网站转化分析
  • 网站开发里程碑北京综合网站建设报价
  • 哪个网站可以做卖房网站忧化教程
  • 专业营销型网站建设公司画家个人网站建设
  • 做网站如何选择颜色玩具网站规划说明书购物网站
  • 旅游网站模块招标网免费
  • 自已买域名做网站要多少钱锦兴建筑人才招聘平台
  • 北京建设企业协会网站首页怎样建设一个公司网站
  • 网站文章关键字密度wordpress文章有模板