Visual Studio 2015中的C ++ 11功能

C ++ 11是标准C ++语言的版本。它于2011年8月12日得到国际标准化组织(ISO)的批准,然后由C ++ 14和C ++ 17批准。C ++ 11对核心语言做了一些补充。Visual C ++实现了C ++ 11中的绝大多数功能。

Visual Studio 2015中的以下某些C ++ 11功能-

  • nullptr-在以前的nullptr中,零曾经是值,它具有隐式转换为整数值的缺点。空指针文字由std::nullptr_t表示。在此nullptr中,不存在隐式转换。

  • Lambdas -lambda表达式允许在本地定义函数。匿名函数称为lambda。我们可以在需要函数对象std::function的任何地方使用lambda表达式。

  • auto-在以前的版本中,我们必须指定对象的类型,但是在C ++ 11中,无需指定类型,这意味着您可以直接声明变量而无需指定其类型。

  • 覆盖和最终-版本C ++ 11引入了两个新的特殊标识符,即覆盖和最终。覆盖表示该方法应该是基类中虚拟方法的覆盖。另一方面,final指示派生类不应覆盖虚拟方法。

  • 删除的功能和默认功能-删除的功能对于防止对象复制很有用。要禁用复制,“ =删除; “ 用来。默认函数向编译器生成指令,以生成函数的默认实现,“ = default; ”用于默认功能。

  • 强类型的枚举-在传统枚举中,它们通常在周围范围内导出其枚举。它们被指定为“枚举类”关键字。他们不会在周围的范围内导出其枚举数。

  • Static_assert和类型特征-在编译时执行断言检查。如果断言为真,则不显示其他任何内容,并显示错误消息。

  • 基于范围的for循环-C ++ 11引入了基于范围的for循环来迭代集合。现在,可以像C数组一样进行迭代。它支持迭代的“ foreach”范式。