编程语言
首页 > 编程语言> > C/C++LI中的值类

C/C++LI中的值类

作者:互联网

在C /CLI中使用值类有什么好处.值类包含成员函数吗?

解决方法:

值类是ValueType – 这意味着,无论何时将它分配给同一类型的另一个变量,整个对象都会被复制到另一个变量中,从而留下两个独立的副本.这方面的例子是基本的数字数据类型,如int,bool或double. ValueTypes是密封的,这意味着您无法从它们派生.

ref类是引用类型 – 如果将其分配给同一类型的另一个变量,则只复制引用.所以这两个变量基本上“指向”相同的数据.

因此值类和ref类之间的主要区别在于复制语义.两者都可以包含方法,字段属性等.此外,您无法从值类派生.

在此上下文中使用class和struct关键字之间的区别是成员的默认可见性.它对于ref / value类是私有的,对于ref / value struct是public.

一个常见的误解是value / ref指定存储位置(value = stack,ref = heap).每个对象的存储位置,无论是ValueType还是引用类型,都是没有人应该依赖或做出假设的实现细节,并且完全由运行时自行决定哪个存储位置适合于任何给定的上下文.

标签:managed,c,c-cli
来源: https://codeday.me/bug/20191005/1857197.html