C++运行库是一款软件编程软件,在这款软件中可以为用户提供十分全面且专业的C++代码内容。用户可以在软件中查询关于C++的一切内容,可以对用户编程工作提供非常大的帮助。软件全程操作都是免费,并且用户下载安装完就可以立即使用,十分的方便。
1、返回类型推断
现在,可推断普通函数的返回类型,包括带有多条返回语句的函数以及递归函数。 这些函数定义前面可以添加 auto 关键字,和带有结尾返回类型的函数定义一样,只是省略了结尾返回类型。
2、继承构造函数
派生的类可以通过在其定义中包含使用 Base::Base; 的语句来指定它将继承其基类 Base 的构造函数。 派生类只能继承其基类的所有构造函数,无法只继承特定的基础构造函数。 派生类无法从多个具有相同签名的构造函数的基类进行继承,也无法定义与其任何继承构造函数签名相同的构造函数。
3、隐式生成 Move 特殊成员函数
当条件允许时,将隐式生成 Move 构造函数和 Move 赋值运算符,从而使编译器与C++11rvalue 引用完全一致。
4、对齐方式查询和控制
变量的对齐方式可通过使用 alignof() 运算符进行查询,并使用 alignas()说明符进行控制。 alignof() 返回必须分配类型实例的字节边界;对于引用,它返回引用类型的对齐方式;对于数组,它返回元素类型的对齐方式。 alignas() 控制变量的对齐方式;它使用常量或类型,其中类型是 alignas(alignof(type)) 的简写形式。
5、用户定义的文本 (UDL)
有意义的后缀可以附加到数字和字符串文本,以便赋予它们特定的语义。编译器将后缀文本解释为调用相应的 UDL 运算符。
6、内联命名空间
可以将命名空间指定为内联式,以将其内容提升至封闭命名空间。内联命名空间可用于创建带有版本的库,这些库默认提供其最新版本,同时仍显式提供 API 的较低版本。
7、新字符类型和 Unicode 文本
支持 UTF-8、UTF-16 和 UTF-32 格式的字符和字符串文本,并引入了新的字符类型 char16_t 和 char32_t。 字符文本可使用 u8 (UTF-8)、u (UTF-16) 或 U (UTF-32) 作为前缀(如 U'a'),而字符串文本还可使用原始字符串等效项 u8R (UTF-8 raw-string)、uR (UTF-16 raw-string) 或 UR (UTF-32 raw-string) 作为前缀。 通用字符名称可在 Unicode 文本(如 u'\u00EF'、u8"\u00EF is i" 和 u"\U000000ef is I")中自由使用。
1、通用的Lambda
捕获表达式也称为初始化捕获,现在,任意表达式的结果可分配给Lambda捕获子句中的变量。这将使move-only类型被值捕获,并使Lambda表达式在其闭包对象中定义任意数据成员。
2、扩展的sizeof
通过使用sizeof,无需类或结构的实例,即可确定类或结构成员变量的大小,visual c++支持constexpr部分支持C++11 constexpr。
3、内联命名空间
可以将命名空间指定为内联式,以将其内容提升至封闭命名空间,内联命名空间可用于创建带有版本的库,这些库默认提供其最新版本,同时仍显式提供API的较低版本。
4、标准库类型的用户定义文本(UDL)
为了方便起见,,和标头现在提供UDL运算符,例如,123ms表示std::chrono::milliseconds(123),"hello"s表示std::string("hello"),且3.14i表示std::complex(0.0,3.14)。
5、编译时整数序列
标准库支持表示整数值序列的integer_sequence类型,该序列可在编译时进行评估,以便使参数包的使用更为轻松,并简化某些模板编程模式。
6、异类关联查找
microsoft visual c++标准库支持关联容器的异类查找函数,只要类型相当于key_type,此类函数就能按照类型而不是key_type进行查找。