C++中的引用和C#中的引用类型有什么关系?或者说有什么区别?
展开全部
C++,引用其实也是一个指针,他是直接获得某实例的地址,来使用它,只是他是获得地址是+&运算符,使用时不需要,而指针是使用实例时+*运算符,而获得地址时不需要。。。
C#的引用并不一定是引用地址,因为他的程序是托管的,其实是一个虚拟机分配的句柄号而已,由虚拟机通过句柄号找地址来操作,在进程中的具体地址,引用变量并没有获得。。。
C#的引用并不一定是引用地址,因为他的程序是托管的,其实是一个虚拟机分配的句柄号而已,由虚拟机通过句柄号找地址来操作,在进程中的具体地址,引用变量并没有获得。。。
追问
C#的引用类型我不怎么理解,能详细说说你的理解么?和普通的数据类型有什么不同?
追答
C#引用实际上传的是一个对象编号,C#引用大多数情况引用的是托管类型,托管类型不用指针。。。c++里只要两个变量的地址相同,就是同一个变量,这两个变量时对同一个内存的引用。。。
C#并不用地址,因为你编写的程序只能生成中间代码,由虚拟机解释并运行,不会出现地址,引用的都是对象的一个编号,这样的好处可以很容易跨平台运行程序,传递中间代码,我可以很轻松的用自己的电脑来运行你电脑上的一个对象(程序在你电脑上运行,在我电脑上调用,这个C++做起来就很麻烦)。。。。
展开全部
都差不多概念,引用不是真实的对象,而是存储了对象所在的地址。它代表了一个对象。但不是对象
追问
差不多?数组属于引用类型这个我理解不了,数组不是变量么?
追答
引用 是和 对象 经常混淆在一起的 数组 是存放 数据的一个 集合 , 数组同时是一个对象 数组的首地址 就是 查找数据的开始位置 而引用 是指向 数组的地址 。 例如 数组 int[] a ={1,33,2,5} 此时a 代表的就是数组的引用 a指向数组的 第一个元素1 的内存地址 对于对象而言,我们通常所说的变量就是引用!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询