# C++/CX

> language extension for C++ compilers

**Wikidata**: [Q197708](https://www.wikidata.org/wiki/Q197708)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/C++/CX)  
**Source**: https://4ort.xyz/entity/c-cx

## Summary
C++/CX (Component Extensions) is a language extension for C++ compilers developed by Microsoft. Introduced in 2011, it is designed as a subset of C++/CLI to support component development. It has since been replaced by C++/WinRT.

## Key Facts
- **Developer:** Microsoft (American multinational technology corporation).
- **Category:** Programming language / Language extension for C++ compilers.
- **Also Known As:** C++ component extensions.
- **Initial Publication:** 2011.
- **Predecessor Basis:** Based on C++ (Wikidata Q2407) and is a subset of C++/CLI.
- **Successor:** Replaced by C++/WinRT.
- **Official Documentation:** Hosted by Microsoft at `docs.microsoft.com`.
- **Parent Company Origin:** Microsoft was founded on April 4, 1975, and is headquartered in Redmond, United States.

## FAQs
### Q: What exactly is C++/CX?
A: C++/CX is a programming language and extension for C++ compilers developed by Microsoft. It allows developers to use C++ to write components for specific runtime platforms.

### Q: How does C++/CX relate to C++/CLI?
A: According to Microsoft documentation, C++/CX is a subset of C++/CLI. It inherits concepts from C++/CLI but is distinct in its implementation and target runtime environments.

### Q: Is C++/CX still the current standard for Microsoft C++ development?
A: No, C++/CX is listed as having been replaced by C++/WinRT.

### Q: When was C++/CX created?
A: The language extension was published in 2011, as detailed in the "Inside the C++/CX Design" blog post by Jim Springfield.

## Why It Matters
C++/CX represents a specific evolutionary step in Microsoft's management of the C++ standard for their ecosystem. It matters to software historians and developers maintaining legacy Windows applications because it bridged the gap between standard C++ and the Windows Runtime (WinRT) during a specific period of Microsoft's platform development.

By providing a set of extensions (often called "Component Extensions"), Microsoft enabled C++ developers to interact with modern Windows APIs using a syntax that felt familiar to C++ programmers, rather than forcing a complete shift to managed languages like C# or VB.NET. Its designation as a "subset of C++/CLI" highlights Microsoft's attempt to recycle familiar syntax patterns (like the caret `^` handle syntax) for new runtime targets.

However, its significance is also defined by its transience; the existence of a direct replacement, C++/WinRT, indicates that C++/CX was an interim solution that has since been superseded by standards-compliant C++ projections. Consequently, C++/CX is primarily relevant today for understanding the architecture of Windows applications developed in the early 2010s and the trajectory of Microsoft's language design.

## Notable For
- **Microsoft Ecosystem:** Being a proprietary extension developed specifically within the Microsoft technology stack.
- **C++/CLI Lineage:** Its unique status as a syntactic subset of C++/CLI, despite targeting different runtime environments.
- **Deprecation:** Being one of the few Microsoft language extensions to have a formal, named successor (C++/WinRT) explicitly listed in its structured data.
- **Corporate Scale:** Being a tool developed by one of the world's largest technology corporations (Microsoft), which employs over 120,000 people and is a leader in the software development industry.

## Body

### Development and Creator
C++/CX was developed by **Microsoft**, a United States-based multinational technology corporation prominent in the software development industry. The extension was first detailed publicly in 2011, notably referenced in a publication titled *"Inside the C++/CX Design"* by Jim Springfield on October 20, 2011. Microsoft, headquartered in Redmond (specifically the Microsoft Redmond Campus), utilized C++/CX to extend the capabilities of standard C++ compilers for their specific platform requirements.

### Technical Classification
Formally classified as a **programming language** and a **language extension**, C++/CX is also referred to by its alias, "C++ component extensions." It is distinct from, though related to, standard C++. Structured data indicates it is based on **C++** (identified as Q2407) and explicitly defined as a subset of **C++/CLI**.

### Relationship to Other Languages
The extension exists within a hierarchy of Microsoft languages:
- **Based on:** It draws from C++/CLI.
- **Replaced by:** It has been superseded by **C++/WinRT**.

### Availability and Resources
C++/CX is documented in multiple languages, including German, English, Spanish, French, Italian, Korean, Russian, and Chinese. Its official technical reference is maintained by Microsoft at `https://docs.microsoft.com/en-us/cpp/cppcx/visual-c-language-reference-c-cx`. The entity has a recorded Freebase ID (`/m/0j2942y`) and a Microsoft Academic ID (`200642662`).

## References

1. [Component Extensions for Runtime Platforms](https://msdn.microsoft.com/en-us/library/xey702bw(v=vs.110).aspx)
2. [Inside the C++/CX Design. 2011](https://devblogs.microsoft.com/cppblog/inside-the-ccx-design/)
3. Freebase Data Dumps. 2013