⑴Microsoft Visual C++ (位官方版是电脑系统中必备的运行库软件。Microsoft Visual C++ (位官方版是运行使用visual studio 开发的必须程序,同时,许多设计开发软件都需要使用这款运行库,这里为大家带来的是位,快来下载安装吧!
⑵标准库类型的用户定义文本 (UDL为了方便起见, 和标头现在提供 UDL 运算符。 例如,ms 表示 std::chrono::milliseconds(,“hello”s 表示 std::string(“hello”,且 .i 表示 std::plex(., .。
⑶Null 前向迭代器现在标准库允许创建不引用容器实例的前向迭代器。 这些迭代器都进行了值初始化,且对于特定容器类型来说相等。 未定义值已初始化的迭代器与值未初始化的迭代器之间的比较。 C++
⑷quoted(现在标准库支持 quoted( 函数以大大简化引用字符串值和 I/O 的使用。 通过 quoted( 将整个引用字符串看作是单个实体(如 I/O 流中的非空格字符字符串;此外,还将通过 I/O 操作保留转义序列。 C++
⑸异类关联查找现在标准库支持关联容器的异类查找函数。 只要类型相当于 key_type,此类函数就能按照类型而不是 key_type 进行查找。 C++
⑹编译时整数序列现在标准库支持表示整数值序列的 integer_sequence 类型,该序列可在编译时进行评估,以便使参数包的使用更为轻松,并简化某些模板编程模式。 C++
⑺exchange(现在标准库支持 std::exchange( 实用工具函数将新值分配到对象并返回其旧值。 对于复杂类型,如果 Move 构造函数可用,则 exchange( 不必复制旧值,如果 Move 构造函数为临时或已移动,则 exchange( 不必复制新值,且将利用转换赋值运算符接受任何类型作为新值。 C++
⑻双范围 equal(, is_permutation(, mismatch(现在标准库支持接受两个范围的 std::equal(、std::is_permutation( 和 std::mismatch( 的重载。 这些重载将检查两个序列是否具有相同长度,从而不再需要调用代码;对于不支持随机迭代器要求的序列,这些重载将在比较元素的同时检查长度,这种方式更为有效。 C++
⑼get(标准库现在支持 get( 模板函数以允许元组元素按其类型进行寻址。 如果元组中包含属于同一类型 get( 的两个或多个元素,则该元组将无法按该类型进行寻址,但其他唯一类型的元素仍可进行寻址。 C++
⑽tuple_element_t标准库现在支持 tuple_element_t 类型别名,这一别名是类型名称 tuple_element::type 的别名。 这为模板程序员提供了一些便利,类似于。 C++
⑾文件系统“V”技术规范所包含的文件系统技术规范的实施已更新至规范版本 。 [N
⑿最小的分配器现在标准库在整个库中支持最小分配器接口;重要修复包括 std::function、shared_ptr、allocate_shared( 和 basic_string。 C++。
⒀已修复 chrono 类型 high_resolution_clock 和 steady_clock。 C++。
⒁Visual C++建立在早期版本引入的惊人进步,提供了成熟的、支持大多数C++特性以及C++ 子集的编译器。你或许会怀疑编译器支持的完整程度,公正地说,我认为他能支持大部分重要的语言特性,支持现代C++将会迎来windows 程序库开发一片新的天地。这才是关键。只要编译器支持一个高效优雅的库的开发环境,开发者就能构建伟大的app和组件。
⒂Microsoft Visual C++是Microsoft公司推出的开发Win环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE,WinSock网络、D控制界面。
⒃它以拥有“语法高亮”,IntelliSense(自动完成功能以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结花费的时间,在大型软件计划上尤其显著。
⒄在该版本中,更新了 C++ 编译器和标准库,使其对 C++ 的支持得到增强并开始支持某些 C++ 功能。 还包括初步支持 C++ 标准版中预期的某些功能。
⒅此外,该版本修复了 多个编译器 Bug,包括客户通过Microsoft Connect提交的许多 Bug,非常感谢。
⒆我们增加了以下新功能,以使编译器更靠近标准 C++:
⒇可恢复函数 (resume/await关键字 resume 和 await 为异步编程提供语言级的支持,并启用可恢复函数。 目前,此功能仅适用于 x 目标。 对于 C+ + 的建议 [N]
⒈泛型(多态Lambda 表达式现在 Lambda 函数参数类型可指定使用 auto;在此上下文中编译器将 auto 解释为此闭包的函数调用运算符是成员函数模板,在 Lambda 表达式中对 auto 的每次使用都对应着截然不同的模板类型参数。 C++
⒉通用的 Lambda 捕获表达式也称为初始化捕获。 现在,任意表达式的结果可分配给 Lambda 捕获子句中的变量。 这将使 move-only 类型被值捕获,并使 Lambda 表达式在其闭包对象中定义任意数据成员。 C++
⒊二进制文本现在支持二进制文本。 这些文本将以 B 或 b 作为前缀,且仅由数字 和 组成。 C++
⒋返回类型推断现在,可推断普通函数的返回类型,包括带有多条返回语句的函数以及递归函数。 这些函数定义前面可以添加 auto 关键字,和带有结尾返回类型的函数定义一样,只是省略了结尾返回类型。 C++
⒌decltype(auto 使用 auto 关键字初始化表达式的类型推断将从表达式中去除 ref 限定符和顶层 cv 限定符。 decltype(auto 将保留 ref 和 cv 限定符,且现在可在可以使用 auto 的任意位置使用,除非引入推断或结尾返回类型的函数。 C++
⒍隐式生成 Move 特殊成员函数现在,当条件允许时,将隐式生成 Move 构造函数和 Move 赋值运算符,从而使编译器与 C++ rvalue 引用完全一致。 C+ +
⒎继承构造函数现在,派生的类可以通过在其定义中包含使用 Base::Base; 的语句来指定它将继承其基类 Base 的构造函数。 派生类只能继承其基类的所有构造函数,无法只继承特定的基础构造函数。 派生类无法从多个具有相同签名的构造函数的基类进行继承,也无法定义与其任何继承构造函数签名相同的构造函数。 C++
⒏对齐方式查询和控制变量的对齐方式可通过使用 alignof( 运算符进行查询,并使用 alignas( 说明符进行控制。 alignof( 返回必须分配类型实例的字节边界;对于引用,它返回引用类型的对齐方式;对于数组,它返回元素类型的对齐方式。 alignas( 控制变量的对齐方式;它使用常量或类型,其中类型是 alignas(alignof(type 的简写形式。 C++
⒐扩展的 sizeof现在,通过使用 sizeof(,无需类或结构的实例,即可确定类或结构成员变量的大小。 C++
⒑constexpr部分支持 C++ constexpr。 C++(部分支持
⒒用户定义的文本 (UDL现在,有意义的后缀可以附加到数字和字符串文本,以便赋予它们特定的语义。 编译器将后缀文本解释为调用相应的 UDL 运算符。 C++
⒓线程安全“神奇”静态现在可用线程安全的方式来初始化静态局部变量,而不必进行手动同步。 只有初始化是线程安全的,多线程使用静态局部变量仍必须手动同步。 通过使用 /Zc:threadSafeInit- 标记来避免依赖于 CRT,可以禁用线程安全静态功能。 C++
⒔线程本地存储使用 thread_local 关键字声明应为每个线程创建独立对象。 C++
⒕noexcept现在,可以使用 noexcept 运算符来检查表达式是否可能引发异常。 现在,可以使用 noexcept 说明符来指定函数未引发异常。 C++
⒖内联命名空间现在可以将命名空间指定为内联式,以将其内容提升至封闭命名空间。 内联命名空间可用于创建带有版本的库,这些库默认提供其最新版本,同时仍显式提供 API 的较低版本。 C++
⒗无限制联合现在联合类型可包含使用重要的构造函数的类型。 必须定义这些联合的构造函数。 C++
⒘新字符类型和 Unicode 文本现在支持 UTF-、UTF- 和 UTF- 格式的字符和字符串文本,并引入了新的字符类型 char_t 和 char_t。 字符文本可使用 u (UTF-、u (UTF- 或 U (UTF- 作为前缀(如 U‘a’,而字符串文本还可使用原始字符串等效项 uR (UTF- raw-string、uR (UTF- raw-string 或 UR (UTF- raw-string 作为前缀。 通用字符名称可在 Unicode 文本(如 u‘/uEF’、u“/uEF is i” 和 u“/Uef is I”中自由使用。 C++
⒙__func__预定义的标识符 __func__ 显式定义为包含封闭函数的非限定和无修饰名称的字符串。 C++
⒚__restrict现在 __restrict 可应用于引用。
⒛类型名称关键字。 用户现在可以在模板参数中编写typename而不是class。C++
①全局void operator delete(void *, std::size_t noexcept和void operator delete[](void *, std::size_t noexcept现在可进行重载。 C++
②数字分隔符现在,您可以使用单引号分隔数值文件,以使其更易于阅读。 例如,int x = ’’;。 C++
③文字中的通用字符名现在,您可以编写基本的字符,如“A”和换行字符,作为文字中的代码点。 例如,const char *s = “/u/uA”;。 C++