Advertisement

C++/CLI中使用的是public ref class作为托管类型

阅读量:

Managed C++中最为突出的特征之一便是__gc这一形式—其开头带有两个下划线。实际上,当初采用这种设计方式,也是为了尽可能使Managed C++与标准C++保持一致,毕竟在标准C++中并不存在“托管”这一概念。然而,从过去几年的实际应用效果来看,这种设计似乎并未取得理想的结果。如今,人们已经逐渐遗忘了Visual Studio.NET中曾经存在C++这一选项。因此,在C++/CLI中,实际上是基于标准C++进行了一定程度的扩展。虽然新增了一些此前从未见过的操作符,但去除了__gc这类关键字后,随着对新操作符的熟悉程度加深,会发现这种方式反而更加自然,并且更贴近标准C++。这或许也正是C++/CLI设计初衷之一。

接下来我们来探讨一下在C++/CLI中如何定义托管类型:

若希望在托管堆上创建对象的引用(reference class),可以使用以下两种关键字:

ref class

ref struct

其中,struct表示其成员默认访问权限为public;而class则表示其成员默认访问权限为private。

如果要定义值类型(value class),则可以使用以下关键字:

value class

value struct

同样地,在定义接口时所使用的关键字为interface class。

因此我们可以看到如下的定义示例:

public ref

全部评论 (0)

还没有任何评论哟~