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

【C++篇】C++11入门:踏入C++新世界的大门

C++11简介
  • C++98/03:在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。
  • 从C++0x到C++11:C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。相比于C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。

C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率,公司实际项目开发中也用得比较多,所以我们要作为一个重点去学习。

C++11全部特性参考C++官网

小插曲: 1998年是C++标准委员会成立的第一年,本来计划以后每5年视实际需要更新一次标准,C++国际标准委员会在研究C++ 03的下一个版本的时候,一开始计划是2007年发布,所以最初这个标准叫C++ 07。但是到06年的时候,官方觉得2007年肯定完不成C++ 07,而且官方觉得2008年可能也完不成。最后干脆叫C++ 0x。x的意思是不知道到底能在07还是08还是09年完成。结果2010年的时候也没完成,最后在2011年终于完成了C++标准。所以最终定名为C++11。


列表初始化
1. {}初始化

C++98中⼀般数组和结构体可以⽤{}进⾏初始化。

代码语言:javascript

AI代码解释

struct Point { int _x; int _y; }; int main() { int array1[] = { 1, 2, 3, 4, 5 }; int array2[5] = { 0 }; Point p = { 1, 2 }; return 0; }

C++11扩大了{}初始化的使用范围,内置类型和用户自定义的类型皆可用{}初始化,并且可以不写=

代码语言:javascript

AI代码解释

struct Point { int _x; int _y; }; int main() { int x1 = 1; int x2{ 2 }; int array1[]{ 1, 2, 3, 4, 5 }; int array2[5]{ 0 }; Point p{ 1, 2 }; // C++11中列表初始化也可以适用于new表达式中 return 0; }

注意:但不建议不写=,因为影响代码可读性

创建对象时也可以使用列表初始化方式调用构造函数初始化

代码语言:javascript

AI代码解释

struct Point { //explicit Point(int x, int y) Point(int x, int y) :_x(x) ,_y(y) { cout << "Point(int x, int y)" << endl; } int _x; int _y; }; int main() { // 本质都是调用构造函数 Point p0(0, 0); Point p1 = { 1,1 }; // 多参数构造函数隐式类型转换 const Point& r = { 3,3 }; // C++11中列表初始化也可以适用于new表达式中(本质也是调用构造函数) int* ptr1 = new int[3]{ 1,2,3 }; Point* ptr2 = new Point[2]{p0,p1}; Point* ptr3 = new Point[2]{ {0,0},{1,1} }; return 0; }
2. initializer_list容器

std::initializer_list的介绍文档 C++11中新增了initializer_lis


http://www.jsqmd.com/news/477498/

相关文章:

  • 3种方式永久保存QQ空间记忆:GetQzonehistory让青春不褪色
  • 钱的教育独立宣言:科斯托拉尼人不一定要富有,但一定要独立“的系统架构实践
  • Z-Image-GGUF与SpringBoot后端整合:构建高可用AI服务网关
  • 华琰兴特钢 镀锌板热轧板冷轧板工角槽h型钢方管 现货供应 万吨现 - 资讯焦点
  • 西电毕设计划书效率提升实战:从流程解耦到自动化生成
  • 小巷味道美食系统 项目测试
  • 计算机毕业设计源码:python基于协同过滤的旅游信息推荐系统 Django框架 requests爬虫 可视化 旅游 旅行 出游 大数据 数据分析 agent(建议收藏)✅
  • 手把手教你玩转电池包仿真分析(附赠全套模型+保姆级教程)
  • KCD Beijing + vLLM 2026 全议程公布:30+ 技术分享,AI × Kubernetes × vLLM 一次看够
  • Python基于flask-django企业公司人事应聘培训管理系统的设计与实现
  • Qwen3-ForcedAligner-0.6B在虚拟机中的性能优化:VMware GPU直通配置指南
  • 如何用n8n实现图片处理自动化:无代码工作流提升团队效率指南
  • QT编程(10): QLineEdit
  • 精通SQL:数据库工程师必须掌握的UPDATE操作全解析
  • OpenClaw,HEARTBEAT.md文件是做什么的?什么是‘自愈机制‘?
  • OpenClaw 详细使用教程:从零搭建你的个人AI智能体系统
  • C++篇】C++11:右值引用与移动语义
  • 网站无法安装,提示“数据库文件版本号(vX.X.X)与CMS源码版本号(vX.X.X)不一致”问题|已解决
  • 【Matlab】MATLAB教程:cell数组创建与应用(以C={1,‘a‘,[1,2]}为核心案例,聚焦不同类型数据存储)
  • 大规模图神经网络的高效训练新方法
  • php方案 PHP 实现音频指纹识别
  • 旅游从业者必看!旅行社收客系统避坑指南
  • 基于springboot在线商城系统设计与开发.7z(源码+论文)
  • 网站上传大文件时提示“文件过大”“上传失败”,或进度条卡住不动
  • BMJ最新论文解读:如何利用倾向得分方法完美实现组间均衡可比
  • 2026大模型关键元年!告别内卷,从“参数比拼”到“全链赋能”,这3个确定性机会你必须抓住必须抓住
  • MinIO 是什么?和 FTP 有什么区别?
  • 聊聊深圳直流稳压电源制造企业,哪家性价比高? - 工业推荐榜
  • 题解:洛谷 P2005 A/B Problem II
  • Oracle快速生成测试数据:从创建表到主键约束