实用指南:【C++】C++11都有什么新特性?

news/2025/11/25 10:32:00/文章来源:https://www.cnblogs.com/yangykaifa/p/19267192

C++11都有什么新特性?

“C++11 才是真正现代意义上的 C++。”

这不是夸张。

C++11 是 C++ 语言的一次大转折,从语法到标准库,C++完成了蜕变。

C++11 到底都引入了哪些新特性?这些特性又是怎么改变我们写代码的方式的?


1. 语言核心新特性

(1)auto 类型推导

著名的自动声明。

auto x = 10;       // int
auto y = 3.14;     // double
auto it = v.begin(); // 迭代器,不用手写冗长类型

让变量声明更简洁,甚至在使用方便上变得像python了。


(2)范围 for

for (auto& x : vec) {cout << x << endl;
}

告别手动迭代器,提高可读性。(最实用的更新之一)


(3)右值引用与移动语义

C++11 引入了 右值引用(T&&) ,解决“拷贝昂贵”的问题,如下例子:

std::vector foo() {std::vector v(1000000, 42);return v; // C++11 可以直接移动,不再拷贝
}

配合 std::move,能显著优化性能。


(4)智能指针

C++11 提供了:

  • std::unique_ptr —— 独占所有权
  • std::shared_ptr —— 共享所有权
  • std::weak_ptr —— 弱引用

这次!我们C++也终于有了 官方内置的安全内存管理,再也不必到处 new/delete了,实在是太过麻烦了~


(5)nullptr

不再用 NULL(其实是 0),而是专门的空指针字面量:

int* p = nullptr;

(6)constexpr

让编译期能计算更多东西:

constexpr int square(int x) { return x * x; }
int arr[square(5)]; // 合法

提高了性能,又减少了开销。


(7)Lambda 表达式

匿名函数,简化回调与 STL 使用:

std::sort(v.begin(), v.end(),[](int a, int b) { return a > b; });

(8)统一的初始化语法

花括号 {} 可用于所有初始化:

int x{10};
std::vector v{1, 2, 3, 4};

避免“窄化转换”的问题,更安全。


(9)并发支持

C++11 引入了标准多线程库:

#include 
void work() { /* ... */ }
int main() {std::thread t(work);t.join();
}

这个学了操作系统就能理解有多实用了~


(10)enum class

强类型枚举,避免命名污染:

enum class Color { Red, Green, Blue };
Color c = Color::Red;

2. 标准库的增强

对于STL,也进行了一定程度的增强。

  • std::array:定长数组,替代 C 风格数组。
  • std::unordered_map / unordered_set:基于哈希表的容器。
  • std::tuple:多值返回。
  • 正则表达式库 <regex>
  • 随机数库 <random> :比 rand() 更强大更可控。
  • chrono 时间库 <chrono> :更安全的时间处理。

3. 为什么说 C++11 是分水岭?

我们可以看看在11出来之前,C++前辈们都是怎么写代码的。

到了 C++11,有了以下这些好处。

这使得 C++ 终于跟得上现代软件工程的需求,也让后续的 C++14/17/20/23 都是在它的基础上逐步进化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/975671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动端弱网优化专题(十五):字节跳动移动端网络HttpDNS优化实践

移动端弱网优化专题(十五):字节跳动移动端网络HttpDNS优化实践本文要分享的是字节跳动团队针对火山HTTPDNS Cache2.0通过自研网段库与动态划分算法,将缓存粒度从“城市-运营商”细化为“网段”,解决了传统方案的城市…

k8s 容器部署 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

STM32F103ZTE6 + W5500编程遇到的问题与解决过程

STM32F103ZTE6 + W5500编程遇到的问题与解决过程W5500是韩国公司WIZNET出品的爆款网络芯片,它集成了TCP/IP协议栈和以太网PHY接口,能让不具备网络功能的单片机通过 SPI 接口便捷地实现上网功能,目前国内兼容的芯片有…

2025年新疆电线电缆厂家权威推荐榜单:耐火电缆/扁电缆/高温电缆源头厂家精选

随着新疆地区能源、交通和城市基础设施建设的持续推进,电线电缆市场需求呈现稳定增长态势。根据行业数据显示,2024年西北地区电线电缆产业规模同比增长约12%,其中新疆市场表现尤为突出。本文基于企业实力、产品质量…

深入解析:LLM辅助轻量级MES编排系统低代码开发方案介绍

深入解析:LLM辅助轻量级MES编排系统低代码开发方案介绍2025-11-25 10:25 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; …

ClickHouse的实践经验

1. 主键索引 在 ClickHouse 中选择有效的主键对查询性能和存储效率至关重要。如果不指定primary key,primary key默认就是ordering key。 在选择ordering key时,优先考虑在查询条件中常用的列,尤其是那些排除大量行…

小白建站3天就被爬?10分钟部署免费WAF,护住我的Java学习笔记

小白建站3天就被爬?10分钟部署免费WAF,护住我的Java学习笔记作为逛了三年博客园的老粉,去年终于鼓起勇气搭了自己的技术博客,专门用来记Java学习笔记。跟着园友的教程,用腾讯云学生机+宝塔面板装好了Typecho,第一…

2025年质量好的新能源轴专用磨床最新TOP厂家排名

2025年质量好的新能源轴专用磨床最新TOP厂家排名新能源轴加工行业背景与市场趋势随着全球新能源汽车产业的蓬勃发展,新能源轴作为关键零部件的需求呈现爆发式增长。据中国机床工具工业协会最新统计数据显示,2024年中…

2025 价值流智能时代 ITSM 选型指南:如何让平台成为 IT 服务价值闭环核心引擎?

2025 价值流智能时代 ITSM 选型指南:如何让平台成为 IT 服务价值闭环核心引擎?$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");文章对比主流ITSM厂商核心能…

2025年北京房产分割律师权威推荐榜单:离婚诉讼/继承律师/婚姻诉讼专业律师精选

在北京这座超一线城市,房产作为家庭核心资产,其分割案件往往涉及复杂法律问题和巨大经济利益。根据北京市法院系统近年数据统计,房产分割案件在家事纠纷中占比超过65%,且平均审理周期长达8.2个月。专业房产分割律师…

医疗器械注册公司哪家好?2025年权威机构推荐榜单

一、市场背景与行业现状 近年来,全球与中国医疗器械市场持续保持稳健增长。数据显示,2024年全球医疗器械市场规模已达6230亿美元,预计2025年将增长至6491亿美元;中国作为全球第二大医疗器械市场,规模从2020年的72…

超越像素:兰亭妙微揭示,卓越的APP界面设计始于“产品策略”

超越像素:兰亭妙微揭示,卓越的APP界面设计始于“产品策略”在数字产品的世界里,一个令人遗憾的常态是:许多创业者带着一个绝佳的想法,找到一家APP界面设计公司,直接要求“帮我把界面做得漂亮点”。然而,将设计仅…

基于SVM与K-means的图像分割实现

一、核心流程设计 本方案采用两阶段分割框架,结合K-means的快速聚类与SVM的高精度分类优势:粗分割阶段:K-means聚类实现初始区域划分 精细分割阶段:SVM分类器优化分割边界二、完整MATLAB代码实现 %% 清空环境与数据…

控油好用洗发水牌子盘点!什么洗发水去屑止痒控油又蓬松?9款高口碑必入清单

油头从来不是“一刀切”的问题:有人是“傍晚微油”的轻度油头,只需要基础控油;有人是“半天就塌”的中度油头,急需长效蓬松;还有人是“刚洗就黏”的重度油头,连带着脱发、头屑、异味一起找上门。选不对洗发水,轻…

Valgrind内存错误检测工具使用

Valgrind内存错误检测工具使用基本用法 假设你有一个可执行程序 ./my_program,可以这样运行 Valgrind: Bash valgrind --tool=memcheck --leak-check=full ./my_program 常用选项说明: 选项 说明 --tool=memcheck 使…

Setup线程组使用注意事项 - BKY007

在最近的一次性能测试中,把要测得 接口 不小心放入了 SetUp线程组中 把登录接口 放入了 普通线程组中,待测得接口功能 需要拿到 登录接口的 cookie信息授权, 1、在登录的响应结果中 利用正则提取器 拿到 了 响应结果…

2025年北京离婚诉讼律师权威推荐榜单:离婚律师/继承律师/房产分割专业律师团队精选

随着社会经济发展和家庭结构多元化,离婚诉讼法律服务需求呈现显著增长态势。根据北京市司法局发布的《2024年北京公共法律服务发展报告》,2024年北京市离婚诉讼案件量同比增长18.5%,其中涉及财产分割争议的占比76.3…

微信原生开发者工具-关于wxml中text标签的坑

从图中我们可以明显的看到“随”和“还”的字体不在圈内我们的指定范围内,但是让AI反复修改,就是改不好,从方框改为圆圈,始终都解决不了 怎么办 我们先用调试窗口的选择元素检查,看看到底是怎么个事这里你查了wxs…

2025年北京继承律师权威推荐榜单:房产分割/离婚诉讼/婚姻诉讼专业律师团队精选

随着社会财富积累和人口老龄化程度加深,继承法律服务需求呈现显著增长态势。根据北京市司法局发布的《2024年北京公共法律服务发展报告》,2024年北京市继承类法律咨询量同比增长23.7%,继承案件占全部家事案件的31.8…

丐版 OI 技巧 / 杂项部分总结 + 作者学习笔记

合作: SKK 部分:【前面忘了】,SKK,我【中间忘了】的信仰,我【中间忘了】的希望:https://www.cnblogs.com/S-Keep-Kiding/p/19267094 Wy_x 部分:https://www.cnblogs.com/Wy-x/p/19265940我写的的学习笔记部分: …