• 初窥C++11


      没有买书, 入门先读了一遍http://www.chenlq.net/cpp11-faq-chs, 里面写有C++11 FAQ中文翻译版.

     

      我感觉C++11在语言新特性方面的改动基本上是为了4个目标, 说白了就是我看完之后脑子里还有印象的东西:

    1, 提高性能, 同时不让程序员复出更多劳动.

    2, 给旧语法提供新语法支持, 让程序员写更少的代码, 实现更加不可思议的功能(模板变参)

    3, 提供了一些工具也好, 语法也好, 让程序员能够给自己的代码加上严格的编译检查, 防止自己犯2.

    4, 引入之前tr1/boost中某几个实用的库到C++11标准库, 顺便强化一下C++标准库.

      所以如果真的去看C++11各种新特性, 会发现并没有之前想象的很复杂, 许多特性我相信未来通过类似Google编程规范都会被筛掉, 留下的一定是值得使用的特性, 拭目以待.

      随便捡几个我觉得的确很实惠的特性, 学院派的东西就暂且忘掉先:

    1, auto: 程序员不用再纠结各种超长的typedef定义了.

    2, alignas: 再也不用union来做char[]缓冲区的内存对齐了.

    3, lambda: 与STL配合, 可以把一些简单的函数直接编码在调用处, 对可读性是提高.

    4, 右值与move: 减少内存拷贝, 这是非常实惠的.

    5, bind/function: 正式纳入namespace std了, 一种特立独行的抽象方式.

    6, 初始化列表initializer_list: 令构造函数有了更多可能.

    7, 模板变参: 复杂暗黑的玩意, 编译期解决各种运行期问题, 只有想不到, 没有做不到, 以后各种用法慢慢普及开来相信不会太晦涩.

    8, 简化的for循环: 好吧, 和auto如出一辙, 让程序员更省字.

    9, STL新增容器: tuple, 基于模板变参实现, 可以装各种不同类型, 有点风骚.

    10, 和JAVA一样, 可以直接在类定义内初始化成员变量.

      

      以后想到继续补充, C++依旧充满魅力, 虽然关于它复杂度的抱怨不绝于耳, 但我还是非常肯定C++对项目可读性, 可维护性, 结构清晰性有极大的帮助.

      C++是一个多范式语言, 面向对象仅是它的一部分, 所以别抱有太多偏见, 存在即合理.

    www.settledown.cn

  • 相关阅读:
    动手动脑及作业
    技能——沟通
    大道至简第三章读后感
    编写一个程序,用户输入两个数,求其加减乘除,并用消息框显示计算结果。
    动手动脑及课后实验
    大道至简第六章
    继承与接口
    产生随机数并窗口显示他们的和
    大道至简——失败也是积累
    动手动脑
  • 原文地址:https://www.cnblogs.com/cppisnotbad/p/3241916.html
Copyright © 2020-2023  润新知