C++和C#引用的区别

时间:2021-05-02

C++与C#有些致命的区别,如果不注意,很可能导致一些莫名其妙的bug。引用类型就是其中一个。

C#中,引用跟指针比较接近,除了值类型(int, float, struct等),其它类型都是引用类型。它本身是一个栈上面的变量,指向堆上面的具体实例,可以随意更改它指向的实例。

而在C++中,引用是变量的一个别名而已,它需要在初始化时指向一个实例,之后对它的操作就相当于在原来实例上做修改。大部分情况下像C#更改引用的用法是可以编译通过的:

ClassA a1, a2;  ClassA &a = a1;  a = a2;

不要以为a现在是a2的引用,最后一句是将a2的赋值给a1了!

本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章