You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/cpp-conformance-improvements-2017.md
+3-4Lines changed: 3 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -61,18 +61,17 @@ Range-based for loops no longer require that begin() and end() return objects of
61
61
62
62
**constexpr if in function templates** A function template may contain `constexpr if` statements to enable compile-time branching. For more information, see [constexpr if](http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0128r1.html).
63
63
64
-
**Selection statements with initializers** An `if` statement may include an initializer that introduces a variable at block scope within the statement itself. For more information, see [Selection statements with initializer](open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0305r1.html
65
-
).
64
+
**Selection statements with initializers** An `if` statement may include an initializer that introduces a variable at block scope within the statement itself. For more information, see [Selection statements with initializer](http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0305r1.html).
66
65
67
66
**[[maybe_unused]] and [[nodiscard]] attributes** New attributes to silence warnings when an entity is not used, or to create a warning if the return value of a function call is discarded. For more information, see [Wording for \[\]maybe_unused\]\] attribute](http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/p0212r0.pdf) and [Proposal of \[\[unused\]\], \[\[nodiscard\]\] and
**Using attribute namespaces without repetition** New syntax to enable only a single namespace identifier in an attribute list. For more information, see [Attributes in C++](attributes2.md).
69
+
**Using attribute namespaces without repetition** New syntax to enable only a single namespace identifier in an attribute list. For more information, see [Attributes in C++](cpp/attributes2.md).
71
70
72
71
**Structured bindings** It is now possible in a single declaration to store a value with individual names for its components, when the value is an array, a std::tuple or std::pair, or has all public non-static data members. For more information, see [Structured Bindings](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf).
73
72
74
73
**Construction rules for enum class values** There is now an implicit/non-narrowing conversion from a scoped enumeration's underlying type to the enumeration itself, when its definition introduces no enumerator and the source uses a list-initialization syntax.
75
-
For more information, see [Construction Rules for enum class Values ](.http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0138r2.pdf).
74
+
For more information, see [Construction Rules for enum class Values ](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0138r2.pdf).
76
75
77
76
**Guaranteed copy elision** Copy elision is now guaranteed to occur when the source object is a temporary, and there are no longer any semantic checks on copy or move constructors when the guaranteed elision occurs. For more information, see [Guaranteed copy elision through simplified value categories](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0135r0.html).
Copy file name to clipboardExpand all lines: docs/what-s-new-for-visual-cpp-in-visual-studio.md
+11-1Lines changed: 11 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -112,6 +112,12 @@ The CPPRestSDK, a cross-platform web API for C++, has been updated to version 2.
112
112
113
113
* Configuration change performance is now better for C++ native projects and much better for C++/CLI projects. When a solution configuration is activated for the first time it will now be faster and all subsequent activations of this solution configuration will be almost instantaneous.
114
114
115
+
**Visual Studio 2017 version 15.3**:
116
+
* Several project and code wizards have been rewritten in the signature dialog style.
117
+
***Add Class** now launches the Add Class wizard directly. All of the other items that were previously here are now available under **Add > New Item**.
118
+
* Win32 projects are now under the Windows Desktop category in the **New Project** dialog.
119
+
* The Windows Console and Desktop Application templates now create the projects without displaying a wizard. There's a new Windows Desktop Wizard now under the same category that displays the same options as before.
120
+
115
121
### Intellisense
116
122
* 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).
117
123
@@ -139,6 +145,7 @@ The CPPRestSDK, a cross-platform web API for C++, has been updated to version 2.
139
145
140
146
Some of these features are common to other languages, and some are specific to C++. For more information about these new features, see [Announcing Visual Studio “15”](https://blogs.msdn.microsoft.com/visualstudio/2016/10/05/announcing-visual-studio-15-preview-5/).
141
147
148
+
142
149
### Support for non-MSBuild projects with Open Folder
143
150
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. For more information, see [Open Folder projects in Visual C++](ide/non-msbuild-projects.md).
144
151
@@ -147,7 +154,10 @@ Visual Studio 2017 introduces the “Open Folder” feature, which enables you t
147
154
- Tasks.json to customize the build steps.
148
155
- Launch.json to customize the debugging experience.
149
156
150
-
**Visual Studio 2017 version 15.3**: Improved support for alternative compilers and build environments such as MinGW and Cygwin. For more information, see [Using MinGW and Cygwin with Visual C++ and Open Folder](https://blogs.msdn.microsoft.com/vcblog/2017/07/19/using-mingw-and-cygwin-with-visual-cpp-and-open-folder/).
157
+
**Visual Studio 2017 version 15.3**:
158
+
* Improved support for alternative compilers and build environments such as MinGW and Cygwin. For more information, see [Using MinGW and Cygwin with Visual C++ and Open Folder](https://blogs.msdn.microsoft.com/vcblog/2017/07/19/using-mingw-and-cygwin-with-visual-cpp-and-open-folder/).
159
+
* Added support to define global and configuration specific environment variables in "CppProperties.json" and "CMakeSettings.json". These environment variables can be consumed by debug configurations defined in "launch.vs.json" and tasks in "tasks.vs.json".
160
+
* Improved support for CMake's Ninja generator, including the ability to easily target 64-bit platforms.
151
161
152
162
### CMake support via Open Folder
153
163
Visual Studio 2017 introduces support for using CMake projects without converting to MSBuild project files (.vcxproj). For more information, see [CMake projects in Visual C++](ide/cmake-tools-for-visual-cpp.md). Opening CMake projects with “Open Folder” will automatically configure the environment for C++ editing, building and debugging.
0 commit comments