zoukankan      html  css  js  c++  java
  • 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库  

            

  • 相关阅读:
    SQL SERVER2017 安装程序无法与下载服务器联系。无法安装机器学习服务的问题解决方式
    Kali Linux无法访问网络的问题
    Vue的冒泡事件
    记录阿里云ECS(Centos7.4)安装mysql 8.0.X服务
    沧桑巨变中焕发青春活力-记极1s HC5661A 打怪升级之路
    Asp.Net MVC过滤器小试牛刀
    C# Windows Service调用IBM Lotus Notes发送邮件
    记录一些js框架用途
    vc14(vs2015) 编译php7 记录
    C++ API方式连接mysql数据库实现增删改查
  • 原文地址:https://www.cnblogs.com/grooovvve/p/10591511.html
Copyright © 2011-2022 走看看