C++/CLI

ECMA-372managed
C++/CLI (C++ modified for Common Language Infrastructure) is a language specification created by Microsoft which supersedes Managed Extensions for C++.wikipedia
43 Related Articles

Managed Extensions for C++

Managed C++C++/CLIManaged Extensions
C++/CLI (C++ modified for Common Language Infrastructure) is a language specification created by Microsoft which supersedes Managed Extensions for C++.
These new extensions were designated C++/CLI and included in Microsoft Visual Studio 2005.

Microsoft Visual Studio

Visual StudioVisual Studio 2005Visual Studio 2008
It is currently available in Visual Studio 2005, 2008, 2010, 2012, 2013, 2015, 2017 and 2019 including the Express editions.
Built-in languages include C, C++, C++/CLI, Visual Basic .NET, C#, F#, JavaScript, TypeScript, XML, XSLT, HTML, and CSS.

Garbage collection (computer science)

garbage collectiongarbage collectorgarbage-collected
Many conflicting syntaxes, such as the multiple versions of operator in MC++, have been split: in C++/CLI, .NET reference types are created with the new keyword (i.e. garbage collected new). Another change in C++/CLI is the introduction of the finalizer syntax, a special type of nondeterministic destructor that is run as a part of the garbage collection routine.
Some languages, like Ada, Modula-3, and C++/CLI, allow both garbage collection and manual memory management to co-exist in the same application by using separate heaps for collected and manually managed objects; others, like D, are garbage-collected but allow the user to manually delete objects and also entirely disable garbage collection when speed is required.

Ecma International

ECMAEuropean Computer Manufacturers AssociationEuropean Computer Manufacturer's Association
C++/CLI was standardized by Ecma as ECMA-372.

Finalizer

finalizedfinalizationobject finalization
Another change in C++/CLI is the introduction of the finalizer syntax, a special type of nondeterministic destructor that is run as a part of the garbage collection routine.
These are generally exclusive – a language will have either finalizers (if automatically garbage collected) or destructors (if manually memory managed), but in rare cases a language may have both, as in C++/CLI and D, and in case of reference counting (instead of tracing garbage collection), terminology varies.

C++/CX

C++ (CX)CX
C++/CX targeting WinRT, although it produces entirely unmanaged code, borrows the ref and ^ syntax for the reference-counted components of WinRT, which are similar to COM "objects".
The language extensions borrow syntax from C++/CLI but target the Windows Runtime Universal Windows Platform native code instead of the Common Language Runtime and managed code.

Windows Runtime

WinRTappsIInspectable
C++/CX targeting WinRT, although it produces entirely unmanaged code, borrows the ref and ^ syntax for the reference-counted components of WinRT, which are similar to COM "objects".
The new C++/CX (Component Extensions) language, which borrows some C++/CLI syntax, was introduced for writing and consuming WinRT components with less glue code visible to the programmer, relative to classic COM programming in C++, and imposes fewer restrictions relative to C++/CLI on mixing types.

Herb Sutter

The Free Lunch Is Over (computing)
He joined Microsoft in 2002 as a platform evangelist for Visual C++ .NET, rising to lead software architect for C++/CLI.

Common Language Infrastructure

CLICommon Language SpecificationECMA-335
C++/CLI (C++ modified for Common Language Infrastructure) is a language specification created by Microsoft which supersedes Managed Extensions for C++.

Microsoft

Microsoft CorporationMicrosoft Corp.MS
C++/CLI (C++ modified for Common Language Infrastructure) is a language specification created by Microsoft which supersedes Managed Extensions for C++.

Pointer (computer programming)

pointerpointerspointer arithmetic
In MC++, there were two different types of pointers: pointers were normal C++ pointers, while pointers worked on .NET reference types.

Visual Basic .NET

VB.NETVisual Basic.NETVisual Basic
It is similar in concept to using "" (reference to a pointer) in standard C++, and (in function declarations) corresponds to the "" keyword applied to types in C#, or "" in Visual Basic .NET.

Interface (computing)

interfaceinterfacescomputer interface
In the raw .NET paradigm, the nondeterministic destruction model overrides the protected method of the root class, while the deterministic model is implemented through the interface method (which the C++/CLI compiler turns the destructor into).

Component Object Model

COMActiveXActiveX/COM
C++/CX targeting WinRT, although it produces entirely unmanaged code, borrows the ref and ^ syntax for the reference-counted components of WinRT, which are similar to COM "objects".

Microsoft Visual C++

Visual C++MSVCMicrosoft C
Microsoft Visual C++ (often abbreviated to MSVC) is an integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming languages.

Kinect

Microsoft KinectXbox KinectProject Natal
This SDK was meant to allow developers to write Kinect apps in C++/CLI, C#, or Visual Basic .NET.

.NET Reflector

Lutz RoederReflector
By default Reflector allows decompilation of CLI assemblies into C#, Visual Basic .NET, C++/CLI and Common Intermediate Language and F# (alpha version).

Document! X

X''' is a documentation generator which automates technical documentation production for C#/VB.NET/C++/CLI or other .NET language assemblies, Java Projects, databases, COM components, type libraries, XSD schemas and ASP.NET Ajax Javascript.

.NET Core

CoreFXCoreCLR.Net Core,
.NET Core fully supports C# and F# (and C++/CLI as of 3.1; only enabled on Windows) and partially supports Visual Basic .NET.

PVS-Studio

PVS-Studio is a proprietary static code analyzer supporting C, C++, C++11, C++/CLI, C++/CX and C#.