- ·上一篇内容:在C#中使用哈希表(HashTable,散列表)
- ·下一篇内容:如何应对无可避免的数据破坏
C++和C#引用的区别
C++与C#有些致命的区别,如果不注意,很可能导致一些莫名其妙的bug。引用类型就是其中一个。
C#中,引用跟指针比较接近,除了值类型(int, float, struct等),其它类型都是引用类型。它本身是一个栈上面的变量,指向堆上面的具体实例,可以随意更改它指向的实例。
而在C++中,引用是变量的一个别名而已,它需要在初始化时指向一个实例,之后对它的操作就相当于在原来实例上做修改。大部分情况下像C#更改引用的用法是可以编译通过的:
ClassA a1, a2;
ClassA &a = a1;
a = a2;
不要以为a现在是a2的引用,最后一句是将a2的赋值给a1了!
本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。