其实C++/Cli可以理解为C++的.net编程。有C++托管扩展的说法。
大家都知道,象C#这样的.net编程语言,是纯面向对象的语言。它只有两种数据类型,值类类型和引用类型。像int这样的预定义类型,在定义时:int a;,其实在编译为IL中间码时,int 被编译为SYstem.Int32这种类型,它具有类的特性,所以当在代码中出现a.toString()等语句也就不足为奇了。
C++语言是比较严格和“显式”的语言。所谓“显式 ”,指的是它的语法经常是比较明了的。比如说在C++/Cli中,数据类型同样是两种数据类型,值类类型和引用类型。因为它是面向.net的语言。它是以Value struct、Value class、Ref Struct、ref Class明确或者显式指定数据类型的。.net编程经常与托管联系在一起。托管是指你的代码由Clr管理,对象的创建与销毁由垃圾收集器来处理。