C++_新特性总结与未来的路

了解C++之后,可以阅读一些高级主题面向对象编程相关的书籍;

OOP有助于开发大型的项目,并提高其可靠性;

OOP方法的基本活动之一就是发明能够模拟当前情况的类。当前情况被统称为问题域

由于实际问题通常很复杂,因此找到适当的类非常富有挑战性;

创建复杂系统时,从空白开始通常不可行,最好采用逐步迭代的方式开始;

最重要的是,在分析和设计阶段完成尽可能多的迭代工作,而不要不断修改实际代码;

常用的技术有两种

1)用例分析

  开发小组列出常见的使用方式或最终系统将用于的场景;找出元素、操作和职责;

  以确定可能要使用的类和类特性。

2)CRC卡

  是一种分析场景的简单方法;

  卡片上列出了类名,类责任以及类的协作者(必须与之交互的其他类);

  然后使用CRC卡片提供的接口模拟场景;

在更大的规模上,是用于整个项目的系统方法

  最新的工具是统一建模语言(UML),它不是一种编程语言,而是一种用于表示编程项目的分析和设计语言;

此外还要学习特定的类库

====================================================

C++新标准新增了了大量功能

1)旨在让C++更容易学习和使用:

  用大括号括起来的统一的列表初始化;

  使用auto自动推断类型;

  类内成员初始化;

  基于范围的for循环;

2)旨在增强类设计以及使其更容易理解:

  默认的和禁用的方法;

  委托构造函数;

  继承构造函数;

  让虚函数设计更清晰的说明符override和final;

3)旨在提高程序和编码效率:

  lambda表达式比函数指针和函数更好;

  模板function可用于减少模板实例数量;

  右值引用能够使用移动语义以及使用移动构造函数和赋值运算符

4)更佳的工作方式:

  作用域内枚举让你能够更好地控制枚举的作用域和底层类型;

  模板unique_ptr和shared_ptr让你能够更好地处理和使用new分配内存;

5)改进模板设计:

  新增的decltype

  返回类型后置

  模板别名

  可变参数模板

6)支持底层编程:

  修改后的共用体

  POD规则

  alignof()运算符

  alignas说明符

  constexpr机制

7)为常见编程提供解决方案:

  多个库新增(新的STL类、tuple模板、regex库)

8)并行编程

  添加关键字thread_local

  atomic库  

        

原文地址:https://www.cnblogs.com/grooovvve/p/10591511.html

时间: 2024-10-17 20:42:40

C++_新特性总结与未来的路的相关文章

MySQL 5.7 新特性大全和未来展望

MySQL 5.7 新特性大全和未来展望 jopen 2015-12-31 16:06:46 • 发布 摘要:美图公司数据库高级 DBA,负责美图后端数据存储平台建设和架构设计.前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务器存储选型设计.之前在「高可用架构」发表的<单表 60 亿记录等大数据场景的 MySQL 优化和运维之道>广受好评. 本文转自微信公众号: 高可用架构 作者:杨尚刚 引用 美图公司数据库高级 DBA,负责美图后端数据存储平台建设和架构设计.

Atitit&#160;.c#的未来新特性计划草案

Atitit .c#的未来新特性计划草案 1. C#的未来:追踪空引用1 1.1. 2. 变量命名空间1 1.2. 10. 项目引用Native dll2 1.3. 10. 项目引用Native dll2 2. 三.设计面向 面向变量的汇编语言,高级语言出现后,从Pascal/C语言面向过程和变量,到C++以后的面向对象2 2.1. 1. 面向集合3 2.2. 2. 面向并发3 2.3. 3. 面向任务(异步3 3. 参考3 1. C#的未来:追踪空引用 olang 都体现了新一代编程语言的设计

黑马程序员_JavaSE学习总结第27天_反射 &amp; 设计模式 &amp; JDK5、7、8新特性

------- android培训.java培训.期待与您交流! ----------  27.01  反射_类的加载概述和加载时机 类的加载:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载:就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会建立一个Class对象. 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数

ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 诸君,我喜欢嫩的--呸呸呸 诸君,我喜欢3D咋了?新事物会替代旧事物不是~ ArcGIS API for JavaScript 4.2概述 AJS 4.2,即ArcGIS API for JavaScript 4.2,是美国ESRI公司针对WebGIS市场推出的.利用JavaScript和Dojo开发的一款产品,它在2016年12月发布.而AJS 4.0 beta则在一年前就发布了. 关于AJS3和AJS4选择的问题,

HTML5基础知识汇总_(2)自己定义属性及表单新特性

自己定义属性data-* 说起这个属性,事实上如今非经常见了;怎么说呢,由于在一些框架都能看到他的身影!!! 比方Jquery mobile,里面非常频繁的使用了这个属性; 这个属性是哪里来的-.当然是尾随最新的H5一起出来的-.. 兼容性在PC端仅仅能呢说一般般(眼下.比較老式浏览器居多),,手机端支持还是比較OK的; 虽说是自己定义属性,可是还是有一定的规格的,,比方前缀必须是data-[自己定义属性]; 比方 <div data-id="id"></div>

蚂蚁金服未来智慧城市:打造新空间_?_新治理_?_新生活

在2017云栖大会-南京峰会上,蚂蚁金服城市服务总经理林光宇做了题为<未来城市 · 智慧生活--新空间 · 新治理 · 新生活>的分享.蚂蚁金服城市服务的故事起源于支付,但是不止于支付.目前支付宝是移动端最大的政务服务聚合平台,蚂蚁金服通过信用重构社会关系是商业文明重要一步,建立社会关系链的新基石,而蚂蚁小贷专注服务小微企业,力作小微企业CFO.同时支付宝也是全球最大的个人碳账户体系,将定义低碳治理新社会.在未来,蚂蚁金服将成为中国新型智慧城市建设新引擎.蚂蚁金服城市服务"新三观&q

11g新特性_索引的可见与不可见

当你想评估一个索引对你SQL查询语句的影响时,恰巧你的数据库是11g时候,可以快速将索引设置成VISIBLE或INVISIBLE.值得称赞的时,当索引被设置成INVISIBLE时候,DML语句发生时候照常会维护索引,也就是说处于INVISIBLE状态下的索引并不失效,只是优化器不选择索引路径而已. 下面通过实验来验证一下: SQL> select * from v$version; BANNER --------------------------------------------------

Atitit.&#160;visual&#160;studio&#160;vs2003&#160;vs2005&#160;vs2008&#160;&#160;VS2010&#160;vs2012&#160;vs2015新特性&#160;新功能.doc

Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. Visual Studio 972 1.3. Visual Studio 6.02 1.4. Vs20022 1.5. Vs20032 1.6. Vs20052 1.6.1. 数据访问  Web开发     Windows Forms 方面的开发特性增强2 1.6.2. Refactoring 2

atitit.ntfs&#160;ext&#160;文件系统新特性对比

atitit.ntfs ext 文件系统新特性对比 1. 现代文件系统应该有的特性2 1.1. 恢复Log2 1.2. 压缩2 1.3. Meta ext2 1.4. Fulltext?search  全文2 1.5. Copy 校验2 1.6. 稀疏文件,这是UNIX类和NTFS等文件系统的一个特性.2 2. Ext2 特性3 2.1. EXT2第二代扩展文件系统(英语:second extended filesystem,缩写为 ext2)3 3. Ext3 特性4 3.1. · 日志4 3