Skip to content

Commit 319267f

Browse files
author
Michael Blome
committed
Updates to whats new
1 parent 6f33521 commit 319267f

3 files changed

Lines changed: 48 additions & 19 deletions

File tree

docs/standard-library/shared-ptr-class.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,11 @@ sp0.get() == 0 == true
331331
## <a name="shared_ptr__operator_boolean-type"></a> shared_ptr::operator boolean-type
332332
Tests if an owned resource exists.
333333

334-
``` operator boolean-type() const;
335-
<CodeContentPlaceHolder>8</CodeContentPlaceHolder>// std_tr1__memory__shared_ptr_operator_bool.cpp
334+
```
335+
operator boolean-type() const;
336+
```
337+
<CodeContentPlaceHolder>8</CodeContentPlaceHolder>
338+
// std_tr1__memory__shared_ptr_operator_bool.cpp
336339
// compile with: /EHsc
337340
#include <memory>
338341
#include <iostream>

docs/top/cpp-conformance-improvements-2017.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,16 @@ translation.priority.ht:
3030
---
3131

3232
# C++ conformance improvements in [!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)]
33-
In this release, we've updated the C++ compiler and standard library with enhanced support for C++11 and C++14 features, as well as preliminary support for certain features expected to be in the C++17 standard. With support for generalized constexpr and NSDMI for aggregates, the compiler is complete for features added in the C++14 Standard. Note that the compiler still lacks a few features from the C++11 and C++98 Standards.
3433

3534
## New language features
35+
ith support for generalized constexpr and NSDMI for aggregates, the compiler is complete for features added in the C++14 Standard. Note that the compiler still lacks a few features from the C++11 and C++98 Standards.
3636

3737
### Standards version switches
3838
New compiler switches enable you to opt-in to specific versions of the ISO C++ programming language in a project. The switches available in Visual Studio 2017 are /std:c++14 and /std:c++latest. For more information, see [Standards version switches in the compiler](https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler). Most of the new draft standard features are guarded by the /std:c++latest switch.
39+
The new /permissive- switch introduces the concept of a “less permissive mode" in the compiler. It is off
40+
by default but will be on by default at some point in the future.
41+
42+
[!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] RC allows using /sdl with /await. We removed /rtc limitation with Coroutines.
3943

4044
### C++11:
4145
**Expression SFINAE (via more libraries)support in more libraries**

docs/top/what-s-new-for-visual-cpp-in-visual-studio.md

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,26 @@ translation.priority.ht:
3333

3434
[!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] brings many updates and fixes to the Visual C++ environment. We've fixed over 250 bugs and reported issues in the compiler and tools, many submitted by customers through [Microsoft Connect](https://connect.microsoft.com/VisualStudio "Microsoft Connect"). Thank you for reporting bugs! For more more information on what's new in all of Visual Studio, please visit [What's new in [!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)]](https://go.microsoft.com/fwlink/?linkid=834481).
3535

36-
The compiler and tools version number in [!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] RC is 14.10.24629.
36+
The compiler and tools version number in [!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] RC is 14.10.24629.
3737

38-
## C++ Code Analysis
39-
40-
The C++ Core Checkers for enforcing the [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) are now distributed with Visual Studio. Simply enable the checkers in the Code Analysis Extensions dialog in the project's property pages and the extensions will be included when you run code analysis.
41-
42-
![CppCoreCheck](media/CppCoreCheck.png "CppCoreCheck properties page")
4338

4439
## C++ Compiler
4540

46-
In this release, we've updated the C++ compiler and standard library with enhanced support for C++11 and C++14 features, as well as preliminary support for certain features expected to be in the C++17 standard. With support for generalized constexpr and NSDMI for aggregates, the compiler is complete for features added in the C++14 Standard. Note that the compiler still lacks a few features from the C++11 and C++98 Standards.
47-
[!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] RC allows using /sdl with /await. We removed /rtc limitation with Coroutines. For more information, see [C++ Conformance Improvements in Visual Studio 2017](cpp-conformance-improvements-2017.md).
48-
This release brings several improvements in optimization and code generation. Some notable improvements include:
41+
In this release, we've updated the C++ compiler and standard library with enhanced support for C++11 and C++14 features, as well as preliminary support for certain features expected to be in the C++17 standard. For more information, see [C++ Conformance Improvements in Visual Studio 2017](cpp-conformance-improvements-2017.md).
42+
43+
This release brings several improvements in optimization, code generation, toolset versioning and diagnostics. Some notable improvements include:
4944

5045
- Improved code generation of loops: Support for automatic vectorization of division of constant integers, better identification of memset patterns.
5146
- Improved code security: Improved emission of buffer overrun compiler diagnostics, and /guard:cf now guards switch statements that generate jump tables.
47+
- Versioning: The value of the built-in preprocessor macro _MSC_VER is now being monotonically updated at every Visual C++ toolset update. For more information, see [Visual C++ Compiler Version](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/visual-c-compiler-version/).
48+
- New toolset layout: The compiler and related build tools have a new location and directory structure on your development machine. The new layout enables side-by-side installations of multiple versions of the compiler. For more information, see [Compiler Tools Layout in Visual Studio “15”](https://blogs.msdn.microsoft.com/vcblog/2016/10/07/compiler-tools-layout-in-visual-studio-15/).
49+
- The /debug:fastlink option has been improved to provide 30% faster link times on large components than in VS 2015. See [Faster C++ build cycle in VS “15” with /Debug:fastlink](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/faster-c-build-cycle-in-vs-15-with-debugfastlink/) and [Recommendations to speed C++ builds in Visual Studio](https://blogs.msdn.microsoft.com/vcblog/2016/10/26/recommendations-to-speed-c-builds-in-visual-studio/).
50+
- Improved diagnostics: The output window now shows the column where an error occurs. For more information, see [C++ compiler diagnostics improvements in VS “15” Preview 5](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/c-compiler-diagnostics-improvements-in-vs-15-rc/).
5251

53-
The /debug:fastlink option has been improved to provide 30% faster link times on large components than in VS 2015.
5452

5553
## C++ Libraries
5654

57-
### Standard Template Library:
55+
### Standard Library improvements:
5856

5957
* Minor basic_string _ITERATOR_DEBUG_LEVEL != 0 diagnostics improvements. Tripping an IDL check in string machinery will now report the specific behavior that caused the trip. For example, instead of "string iterator not dereferencable" you'll get "cannot dereference string iterator because it is out of range (e.g. an end iterator)".
6058
* Performance improvement: made basic_string::find(char) overloads only call traits::find once. Previously this was implemented as a general string search for a string of length 1.
@@ -75,6 +73,13 @@ The /debug:fastlink option has been improved to provide 30% faster link times on
7573
* To increase compiler throughput, STL headers now avoid including declarations for unnecessary compiler intrinsics.
7674
* Slightly improved compiler diagnostics for incorrect bind() calls.
7775

76+
### Open source library support
77+
Vcpkg is an open-source command line tool that greatly simplifies the process of acquiring and building open source C++ static libs and DLLS in Visual Studio. For more information, see [Vcpkg updates: Static linking is now available](https://blogs.msdn.microsoft.com/vcblog/2016/11/01/vcpkg-updates-static-linking-is-now-available/).
78+
79+
### CPPRest SDK 2.9.0
80+
The CPPRestSDK, a cross-platform web API for C++, has been updated to version 2.9.0. For more information, see [CppRestSDK 2.9.0 is available on GitHub](https://blogs.msdn.microsoft.com/vcblog/2016/10/21/cpprestsdk-2-9-0-is-available-on-github/).
81+
82+
7883
## C++ IDE
7984

8085
* The new SQLite-based database engine is now being used by default. This will speed up database operations like Go To Definition and Find All References, and will significantly improve initial solution parse time. The setting has been moved to Tools > Options > Text Editor > C/C++ > Advanced (it was formerly under ...C/C++ > Experimental).
@@ -91,7 +96,7 @@ The /debug:fastlink option has been improved to provide 30% faster link times on
9196

9297
![Member List Filtering](media/mlfiltering.png "Member List Filtering")
9398

94-
* Added a new experimental Predictive IntelliSense feature that provides contextually-aware filtering of what appears in the Member List.
99+
* Added a new experimental Predictive IntelliSense feature that provides contextually-aware filtering of what appears in the Member List. See [C++ IntelliSense Improvements – Predictive IntelliSense & Filtering](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/c-intellisense-improvements-predictive-intellisense-filtering/)
95100

96101
* The new Find All References UI includes information about whether we are reading from or writing to a variable in the results for C++ code.
97102

@@ -101,12 +106,13 @@ The /debug:fastlink option has been improved to provide 30% faster link times on
101106

102107
* _**New in RC**_ We've enabled the new experimental feature for C++ projects ‘Faster project load’. The next time you open a C++ project it will load faster, and the time after that it will load really fast!
103108

104-
* _**New in RC**_ Improvements to the Open Folder experience.
105-
Edit, build and debug your non-MSBuild C++ project by loading your sources through “Open Folder”.
106-
Customize the experience through these json files:
109+
* _**New in RC**_ Improvements to the Open Folder experience.
110+
Visual Studio 2017 introduces the “Open Folder” feature, which enables you to code, build and debug in a folder containing source code without the need to create any solutions or projects. This makes it a lot simpler to get started with Visual Studio even if your project is not an MSBuild-based project. With “Open Folder” you get access to the powerful code understanding, editing, building and debugging capabilities that Visual Studio already provides for MSBuild projects.
111+
You can customize the experience through these json files:
107112
- CppProperties.json to customize the IntelliSense and browsing experience.
108113
- Tasks.json to customize the build steps.
109114
- Launch.json to customize the debugging experience.
115+
- For more information, see [Bring your C++ codebase to Visual Studio with “Open Folder”](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/bring-your-c-codebase-to-visual-studio-with-open-folder/).
110116

111117
* _**New in RC**_ C++ IntelliSense will work without the need to create a CppProperties.json file in the root folder. Along with this, we've added a new dropdown to allow users to easily switch between configurations provided by CMake and CppProperties.json files.
112118
CMake support in Open Folder
@@ -116,6 +122,7 @@ Opening CMake projects with “Open Folder” will automatically configure the e
116122

117123
![Cmake Open Folder](media/cmake_cpp.png "CMake Open Folder")
118124

125+
119126
## C++ Installation Workloads
120127

121128
### Windows Desktop Development with C++:
@@ -130,12 +137,25 @@ Use the full power of C++ to build professional games powered by DirectX or Coco
130137
### Mobile Development with C++ (Android and iOS):
131138
You can now create and debug mobile apps using Visual Studio that can target Android and iOS.
132139

133-
### Universal Windows App:
140+
### Universal Windows Apps:
134141
C++ comes as an optional component for the Universal Windows App workload.
135142

143+
## New options for C++ on Universal Windows Platform
144+
You now have new options for writing and packaging C++ applications for the Universal Windows Platform and the Windows Store:
145+
You can use the Desktop App Converter to package your existing desktop application for deployment through the Windows Store. For more information, see [Using Visual C++ Runtime in Centennial project](https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-visual-c-runtime-in-centennial-project/) and [Bring your desktop app to the Universal Windows Platform (UWP) with the Desktop Bridge](https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root).
146+
147+
When writing new code, you can now use C++/WinRT, a standard C++ language projection for the Windows Runtime implemented solely in header files. It allows you to both author and consume Windows Runtime APIs using any standards-compliant C++ compiler. C++/WinRT is designed to provide C++ developers with first-class access to the modern Windows API. For more information, see [C++/WinRT Available on GitHub](https://moderncpp.com/).
148+
149+
136150
## Clang/C2 Platform Toolset
137151
The Clang/C2 toolset that ships with [!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] RC now supports the /bigobj switch, which is crucial for building large projects. It also includes several important bug fixes, both in the front-end and the back-end of the compiler.
138152

153+
## C++ Code Analysis
154+
155+
The C++ Core Checkers for enforcing the [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) are now distributed with Visual Studio. Simply enable the checkers in the Code Analysis Extensions dialog in the project's property pages and the extensions will be included when you run code analysis.
156+
157+
![CppCoreCheck](media/CppCoreCheck.png "CppCoreCheck properties page")
158+
139159
## Visual Studio Graphics Diagnostics
140160

141161
Visual Studio Graphics Diagnostics is a set of tools for recording and analyzing rendering and performance problems in Direct3D apps. Graphics Diagnostics features can be used with apps that are running locally on your Windows PC, in a Windows device emulator, or on a remote PC or device.
@@ -181,4 +201,6 @@ Visual Studio Graphics Diagnostics is a set of tools for recording and analyzing
181201
Traces opened in GPU View via this link support synchronized zooming and panning in the timeline between VS and GPU View. A checkbox in VS is used to control whether synchronization is enabled or not.
182202

183203
![GPU View](media/gpu-view.png)
204+
205+
184206

0 commit comments

Comments
 (0)