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

C++11 新增 STL 容器

重点掌握:std::array(静态数组)、std::forward_list(单向链表)、unordered系列(哈希容器)

1. std::array 安全静态数组

核心特点:
1.封装原生栈静态数组,大小编译期固定,不占用堆内存;
2.完美替代原生数组:不退化、支持边界检查、自带size()、兼容所有 STL 算法;
3.头文件:<array>

代码示例:

#include <iostream> #include <array> #include <algorithm> using namespace std; int main() { // 格式:array<类型, 固定大小> array<int, 5> arr = {1,3,2,5,4}; // 安全访问:at()越界抛异常,[]不检查(原生数组的缺点) arr.at(0) = 10; // arr.at(10) = 0; 越界直接报错,避免内存非法访问 // 支持STL算法+范围for遍历 sort(arr.begin(), arr.end()); for(int x : arr) cout << x << " "; // 2 3 4 5 10 return 0; }

2. std::forward_list 轻量单向链表

核心特点:
1.C++11 专为节约内存设计的单向链表;
2.对比std::list(双向链表):更省空间、仅支持前置迭代器、无 size ()(保证头插 / 删 O (1) 效率);
3.头文件:<forward_list>

代码示例:

#include <iostream> #include <forward_list> using namespace std; int main() { forward_list<int> fl = {1,2,3}; fl.push_front(0); // 头插O(1),核心优势 fl.insert_after(fl.begin(), 5); // 单向链表:只能在节点后插入 for(int x : fl) cout << x << " "; // 0 5 1 2 3 return 0; }

3. unordered 系列 哈希容器

核心特点:
包含:unordered_map/unordered_set/unordered_multimap/unordered_multiset;
底层哈希表,无序,平均查询 / 插入 / 删除 O(1)(远快于 map/set 的 O (logn));
1.对比 map/set(红黑树):查询更快,但无序;
2.头文件:<unordered_map>/<unordered_set>

代码示例:

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<string, int> umap; umap["张三"] = 18; umap["李四"] = 20; // 遍历无序 for(auto& p : umap) { cout << p.first << ":" << p.second << endl; } return 0; }
谢谢
http://www.gsyq.cn/news/1478034.html

相关文章:

  • MuleSoft企业级AI编排:构建LLM与ERP安全可控的智能流程
  • 2026年Java工程师必修:Spring Boot工程化核心能力图谱
  • 绑定or不绑?蓝V企业号启用CSDN AI营销套餐的5大决策依据,技术负责人连夜重审合同!
  • DPDK L3fwd参数避坑指南:如何正确配置portmask和core绑定提升转发效率
  • GT20L16S1Y字库芯片的‘竖置横排’和‘横置横排’到底啥区别?一篇讲透点阵数据与LCD驱动的匹配问题
  • 从无人机编队到室内定位:精度因子(DOP)的通俗解读与避坑指南
  • 深入理解Python作用域:从LEGB规则到闭包与非局部变量
  • Prompt Learning:让提示词成为可学习的第一类公民
  • 从零实现字符级文本生成器:LSTM+TensorFlow实战
  • 2026年华北地区钢质百叶窗供应商综合排行盘点:防火电动百叶窗、不锈钢百叶窗、手动百叶窗、焊接格栅、空调铝合金格栅选择指南 - 优质品牌商家
  • Shiro 550漏洞实战复盘:从指纹识别到一键GetShell的完整攻击链剖析
  • 别再只盯着ysoserial了:盘点那些容易被忽略的Java反序列化“入口点”与防御思路
  • 2026局放测试仪优质推荐榜 精准检测之选 - 优质品牌商家
  • MusicFree插件系统:3步打造你的专属音乐播放器
  • Gemini API实战入门:从curl认证到生产级调用全链路指南
  • 利用快马平台快速构建专利链接管理原型,验证核心流程与交互设计
  • 告别重复造轮子:用快马平台AI高效生成CNN模型开发框架
  • 别再踩坑了!Windows 10/11 下 Nacos 2.0.3 单机版保姆级安装与配置(含MySQL 8.0连接避坑)
  • 别只当对象存储用!用MinIO Admin命令解锁这些隐藏的监控与调试技巧
  • BioGPT医学大模型原理与临床落地实践指南
  • 程序员项目瓶颈不在没创意,而在不会拆解真实需求
  • 免JS的全屏视频背景页面模板,含HTML/CSS和示例MP4
  • Git PR合并策略选择指南:历史可读性与协作效率的平衡
  • 用快马AI十分钟复刻typora核心:构建在线实时预览markdown编辑器原型
  • Maven本地Jar引入和一键生成可运行JAR的实操配置包
  • 告别Arduino库!手把手教你用MicroPython在ESP32上“裸写”WS2812驱动(附SPI波形生成核心代码)
  • 别再只用GWR了!用Python的mgtwr包搞定时空地理加权回归(GTWR)实战
  • 告别PS小白:用Global Mapper和ArcGIS搞定航测正射影像的拼接与裁切
  • Tool-using LLM构建通勤规划Agent:语义层与四层架构实践
  • 别再混淆了!图形学视角下的ECEF与ENU转换:从世界坐标到局部坐标的矩阵推导(附WebGL/Three.js示例)