zoukankan      html  css  js  c++  java
  • 新兵易学,老兵易用----C++(C++11的学习整理---如何减少代码量,加强代码的可读性)

    1.auto类型推导

      auto推导最大的优势就是在拥有初始化表达式的复杂类型变量声明时简化代码。

      auto第二个优势就是免去了程序员在一些类型声明时的麻烦,或者避免一些在类型声明时的错误。

      auto第三个优势就是其“自适应”性能能够在一定程度上支持泛型的编程。

      auto的四个使用细则:

      1)函数:不能是形参

      2)结构体:不能是静态类型

      3)数组:不能声明数组

      4)模板实例化:不能作为模板参数

    2.decltype推导细则

      1)如果e是一个没有带括号的表姐符表达式或者类成员访问表达式,那么decltype(e)就是e所命名的实体;

      2)否则,就是设e的类型是T,如果e是一个将亡值,那么decltype(e)为T&&;

      3)否则,就是设e的类型是T,如果e是一个左值,那么decltype(e)为T&;

      4)否则,就是设e的类型是T,那么decltype(e)为T;

    3.CV限制符的继承与冗余

      decltype是可以冗余的,但是其推导的成员是不能继承const,volatile。

    4.基于范围的for循环(做的比for_each更快更好)

    5.追踪类型返回(真正释放了c++11的泛型编程的能力与更方便的使用模板)

  • 相关阅读:
    centos networkmanager 和 network配置冲突
    Struts ajax json重新整理
    Struts2 ajax json小例子
    (转)json-lib 的maven dependency
    Struts2文件下载
    jQuery自定义滚动条插件mCustomScrollbar
    Struts2自定义拦截器
    Spring的自动装配在session监听器失效
    mysql 分组+排序+限定
    mysql触发器
  • 原文地址:https://www.cnblogs.com/hduacm/p/5192877.html
Copyright © 2011-2022 走看看