The Declaration of a Managed Class

What s Different in the Revised Language Definition? The Declaration of a Managed Class Type     In the original language definition, a reference class type is prefaced with the __gc keyword, where the gc is an acronym for garbage collected. In the revised language, the __gc keyword is replaced by one of two spaced…

5

Removal of the __ Keyword Prefix

What s Different in the Revised Language Definition? Removal of the  __ Keyword Prefix One general transformation of the language between the original and revised language design is the removal of the double-underscore from all keywords. For example, a property is now declared as property, not __property, and so on. Why Did We Originally Use…

4

Finishing the Hat

    Finishing the Hat (^) Once it became clear that support for .NET within C++ represented a distinct programming paradigm, it followed that the language needed to be extended to provide both a first class coding experience for the user, and an elegant design integration with the ISO C++ standard in order to respect…

6

The Revised C++ Language Design – Part 2

The Revised C++ Language Design Supporting .NET — Part 2 The fundamental design choice in supporting the .NET reference type within C++ is to decide whether to remain within the existing language, or to extend the language, thereby breaking with the standard and opening ourselves up to potential criticism and rebuke. If one is unable to…

6

The Revised C++ Language Design Supporting .NET — Part 1

Probably the most conspicuous and eyebrow-lifting change between the original and revised design of the dynamic programming support within C++ is the change in the declaration of a .NET reference type:   // original language Object * obj = 0;   // revisied language Object ^ obj = nullptr;   There is actually a great…

11