| title | Visual C++ Language Reference (C++/CX) | Microsoft Docs |
|---|---|
| ms.custom | |
| ms.date | 12/30/2016 |
| ms.technology | cpp-windows |
| ms.reviewer | |
| ms.suite | |
| ms.tgt_pltfrm | |
| ms.topic | article |
| ms.assetid | 3f6abf92-4e5e-4ed8-8e11-f9252380d30a |
| caps.latest.revision | 27 |
| author | ghogen |
| ms.author | ghogen |
| manager | ghogen |
C++/CX is a set of extensions to the C++ language that enable the creation of Windows apps and Windows Runtime components in an idiom that is as close as possible to modern C++. Use C++/CX to write Windows apps and components in native code that easily interact with Visual C#, Visual Basic, and JavaScript, and other languages that support the Windows Runtime. In those rare cases that require direct access to the raw COM interfaces, or non-exceptional code, you can use the Windows Runtime C++ Template Library (WRL).
The new model represents the next generation of native C++ programming on Windows. By using it, you can create:
-
C++ Windows apps that use XAML to define the user interface and use the native stack. For more information, see Create a "hello world" app in C++ (Windows 10).
-
C++ Windows Runtime components that can be consumed by JavaScript-based Windows apps. For more information, see Creating Windows Runtime Components in C++.
-
Windows DirectX games and graphics-intensive apps. For more information, see Create a simple Universal Windows Platform (UWP) Game with DirectX.
| Quick Reference | Table of keywords and operators for C++/CX. |
| Type System | Describes basic C++/CX types and programming constructs, and how to utilize C++/CX to consume and create Windows Runtime types. |
| Building apps and libraries | Discusses how to use the IDE to build apps and link to static libraries aned DLLs. |
| Interoperating with Other Languages | Discusses how components that are written by using C++/CX can be used with components that are written in JavaScript, any managed language, or the [!INCLUDEcppwrl]. |
| Threading and Marshaling | Discusses how to specify the threading and marshaling behavior of components that you create. |
| Namespaces Reference | Reference documentation for the default namespace, the Platform namespace, Platform::Collections, and related namespaces. |
| CRT functions not supported in Universal Windows Platform apps | Lists the CRT functions that are not available for use in Windows Runtime apps. |
| How to guides for Windows 10 apps | Provides high-level guidance about Windows 10 apps and links to more information. |