Visual C++ 2015运行库搜罗C运行时库(CRT),尺度C + +以及MFC,C + +,以及OpenMP。开拓的Visual C++运用挨次运用动态链接到Visual Studio 2015以及Visual C + +库。具备集成开拓情景,可提供编纂C语言,C++以及C++/CLI等编程语言。VC++整合了利便的除了错工具,特意是整合了微软视窗程式妄想(Windows API)、三维动画DirectX API,Microsoft .NET框架。
软件截图1
Visual C++
在该版本中,更新了 C++ 编译器以及尺度库,使其对于 C++11 的反对于患上到增强并开始反对于某些 C++14 功能。 还搜罗开始反对于 C++17 尺度版中预期的某些功能。
此外,该版本修复了 500 多个编译器 Bug,搜罗客户经由Microsoft Connect提交的良多 Bug,颇为谢谢!
语言功能
咱们削减了如下新功能,以使编译器更挨近尺度 C++:
可复原函数 (resume/await)关键字 resume 以及 await 为异步编程提供语言级的反对于,并启用可复原函数。 当初,此功能仅适用于 x64 目的。 对于 C+ +17 的建议 [N3858]
泛型(多态)Lambda 表白式如今 Lambda 函数参数规范可指定运用 auto;在此高下文中编译器将 auto 批注为此闭包的函数调用运算符是成员函数模板,在 Lambda 表白式中对于 auto 的每一次运用都对于应着截然差距的模板规范参数。 C++14
通用的 Lambda 捉拿表白式也称为初始化捉拿。 如今,恣意表白式的服从可调配给 Lambda 捉拿子句中的变量。 这将使 move-only 规范被值捉拿,并使 Lambda 表白式在其闭包工具中界说恣意数据成员。 C++14
二进制文本如今反对于二进制文本。 这些文本将以 0B 或者 0b 作为前缀,且仅由数字 0 以及 1 组成。 C++14
返回规范判断如今,可判断艰深函数的返回规范,搜罗带有多条返回语句的函数以及递归函数。 这些函数界说前面可能削减 auto 关键字,以及带有结尾返回规范的函数界说同样,只是省略了却尾返回规范。 C++14
decltype(auto) 运用 auto 关键字初始化表白式的规范判断将从表白式中去除了 ref 限度符以及顶层 cv 限度符。 decltype(auto) 将保存 ref 以及 cv 限度符,且如今可在可能运用 auto 的恣意位置运用,除了非引入判断或者结尾返回规范的函数。 C++14
隐式天生 Move 特殊成员函数如今,当条件应承时,将隐式天生 Move 妄想函数以及 Move 赋值运算符,从而使编译器与 C++11 rvalue 援用残缺不同。 C+ +11
秉持妄想函数如今,派生的类可能经由在其界说中搜罗运用 Base::Base; 的语句来指定它将秉持其基类 Base 的妄想函数。 派生类只能秉持其基类的所有妄想函数,无奈只秉持特定的根基妄想函数。 派生类无奈从多个具备相同署名的妄想函数的基类妨碍秉持,也无奈界说与其任何秉持妄想函数署名相同的妄想函数。 C++11
对于齐方式查问以及操作变量的对于齐方式可经由运用 alignof() 运算符妨碍查问,并运用 alignas() 剖析符妨碍操作。 alignof() 返回必需调配规范实例的字节领土;对于援用,它返回援用规范的对于齐方式;对于数组,它返回元素规范的对于齐方式。 alignas() 操作变量的对于齐方式;它运用常量或者规范,其中规范是 alignas(alignof(type)) 的简写方式。 C++11
扩展的 sizeof如今,经由运用 sizeof(),无需类或者妄想的实例,即可判断类或者妄想成员变量的巨细。 C++11
constexpr部份反对于 C++11 constexpr。 C++11(部份反对于)
用户界说的文本 (UDL)如今,分心义的后缀可能附加到数字以及字符串文本,以便给予它们特定的语义。 编译器将后缀文本批注为调用响应的 UDL 运算符。 C++11
线程清静"怪异"动态如今可用线程清静的方式来初始化动态部份变量,而不用妨碍手动同步。 惟独初始化是线程清静的,多线程运用动态部份变量仍必需手动同步。 经由运用 /Zc:threadSafeInit- 标志来防止依赖于 CRT,可能禁用线程平悄然态功能。 C++11
线程当地存储运用 thread_local 关键字申明应为每一个线程建树自力工具。 C++11
noexcept如今,可能运用 noexcept 运算符来魔难表白式是否可能激发颇为。 如今,可能运用 noexcept 剖析符来指定函数未激发颇为。 C++11
内联命名空间如今可能将命名空间指定为内联式,以将其内容提升至封锁命名空间。 内联命名空间可用于建树带有版本的库,这些库默认提供其最新版本,同时仍显式提供 API 的较低版本。 C++11
有限度散漫如今散漫规范可搜罗运用紧张的妄想函数的规范。 必需界说这些散漫的妄想函数。 C++11
新字符规范以及 Unicode 文本如今反对于 UTF-八、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")中逍遥运用。 C++11
__func__预界说的标识符 __func__ 显式界说为搜罗封锁函数的非限度以及无修饰称谓的字符串。 C++11
__restrict如今 __restrict 可运用于援用。
规范称谓关键字。 用户如今可能在模板参数中编写typename而不是class。C++14
全局void operator delete(void *, std::size_t) noexcept以及void operator delete[](void *, std::size_t) noexcept如今可妨碍重载。 C++14
数字并吞符如今,您可能运用单引号并吞数值文件,以使其更易于浏览。 好比,int x = 1’000’000;。 C++14
翰墨中的通用字符名如今,您可能编写根基的字符,如"A"以及换行字符,作为翰墨中的代码点。 好比,const char *s = "/u0041/u000A";。 C++11
Visual C++ 库功能
尺度库规范的用户界说文本 (UDL)为了利便起见,
Null 前向迭代器如今尺度库应承建树不援用容器实例的前向迭代器。 这些迭代器都妨碍了值初始化,且对于特定容器规范来说至关。 未定义值已经初始化的迭代器与值未初始化的迭代器之间的比力。 C++14
quoted()如今尺度库反对于 quoted() 函数以大大简化援用字符串值以及 I/O 的运用。 经由 quoted() 将全部援用字符串看做是单个实体(如 I/O 流中的非空格字符字符串);此外,还将经由 I/O 操作保存转义序列。 C++14
异类分割关连查找如今尺度库反对于分割关连容器的异类查找函数。 惟独规范至关于 key_type,此类函数就能凭证规范而不是 key_type 妨碍查找。 C++14
编译时整数序列如今尺度库反对于展现整数值序列的 integer_sequence 规范,该序列可在编译时妨碍评估,以便使参数包的运用加倍轻松,并简化某些模板编程方式。 C++14
exchange()如今尺度库反对于 std::exchange() 适用工具函数将新值调配到工具并返回其旧值。 对于重大规范,假如 Move 妄想函数可用,则 exchange() 不用复制旧值,假如 Move 妄想函数为临时或者已经挪移,则 exchange() 不用复制新值,且将运用转换赋值运算符接受任何规范作为新值。 C++14
双规模 equal(), is_permutation(), mismatch()如今尺度库反对于接受两个规模的 std::equal()、std::is_permutation() 以及 std::mismatch() 的重载。 这些重载将魔难两个序列是否具备相同长度,从而再也不需要调用代码;对于不反对于随机迭代器要求的序列,这些重载将在比力元素的同时魔难长度,这种方式加倍实用。 C++14
get
tuple_element_t尺度库如今反对于 tuple_element_t 规范又名,这一又名是规范称谓 tuple_element::type 的又名。 这为模板挨次员提供了一些利便,相似于
文件零星"V3"技术尺度所搜罗的文件零星技术尺度的实施已经更新至尺度版本 3。 [N3940]
最小的调配器如今尺度库在全部库中反对于最小调配器接口;紧张修复搜罗 std::function、shared_ptr、allocate_shared() 以及 basic_string。 C++11
Visual c++ 2015软件功能特色
Visual C++2015建树在早期版本引入的惊人后退,提供了成熟的、反对于大少数C++11特色以及C++ 2015子集的编译器。你概况会怀疑编译器反对于的残缺水平,公平川说,我以为他能反对于大部份紧张的语言特色,反对于今世C++将会迎来windows 挨次库开拓一片新的乾坤。这才是关键。惟独编译器反对于一个高效斯文的库的开拓情景,开拓者就能构建重大的app以及组件。
Microsoft Visual C++是Microsoft公司推出的开拓Win32情景挨次,面向工具的可视化集成编程零星。它不光具备挨次框架自动天生、锐敏利便的类规画、代码编写以及界面妄想集成交互操作、可开拓多种挨次等短处,而且经由重大的配置就能使其天生的挨次框架反对于数据库接口、OLE2,WinSock收集、3D操作界面。它以具备“语法高亮”,IntelliSense(自动完乐成用)以及低级除了错功能而著称。好比,它应承用户妨碍短途调试,单步实施等。尚有应承用户在调试时期重新编译被更正的代码,而不用重新启动正在调试的挨次。其编译及建置零星以预编译头文件、最小重立功能及累加坚持著称。这些特色清晰延迟程式编纂、编译及坚持破费的光阴,在大型软件妄想上特意清晰.