C#和C++引用的区别
来源:互联网 发布:php 适配器设计模式 编辑:程序博客网 时间:2024/06/08 13:40
C#用多了,最近又回到C++编程。发现有些致命的区别,如果不注意,很可能导致一些莫名其妙的bug。引用类型就是其中一个。
在C#中,引用跟指针比较接近,除了值类型(int, float, struct等),其它类型都是引用类型。它本身是一个栈上面的变量,指向堆上面的具体实例,可以随意更改它指向的实例。
而在C++中,引用是变量的一个别名而已,它需要在初始化时指向一个实例,之后对它的操作就相当于在原来实例上做修改。大部分情况下像C#更改引用的用法是可以编译通过的:
ClassA a1, a2;
ClassA &a = a1;
a = a2;
不要以为a现在是a2的引用,最后一句是将a2的赋值给a1了!
- C++, C#引用的区别和C#的类为什么没有拷贝构造函数
- C++, C#引用的区别和C#的类为什么没有拷贝构造函数
- C++, C#引用的区别和C#的类为什么没有拷贝构造函数
- 【C/C++】引用和指针的区别
- 引用 C# MarshalByRefObject 和Serializable的区别
- C#和C++引用的区别
- C#中 值引用和对象引用的区别
- 指针和引用的区别(C++)
- C程序设计语言--指针和引用的区别
- 引用和指针的区别C/C++
- [C++]指针和引用的区别
- C和C++的区别 06.引用
- C++:指针和引用的区别
- C和C#的区别
- 【C/C++】概念:指针和引用的区别
- C#值类型和引用类型的区别
- C#值类型和引用类型的区别
- 彻底理解C#中值类型和引用类型的区别
- Extjs4---文件上传,后台struts2
- Linux内核tracepoints
- emacs 局部替换
- Silverlight DataForm
- Android4.1:如何把一个应用添加到Settings列表中...
- C#和C++引用的区别
- C++引用与指针的比较
- vi编辑器使用操作
- hibernateTemplate里的事物处理
- TweenLite类帮助
- Spring中Quartz的配置
- Silverlight 导出各种格式的Word和Excel表格 .
- buffer cache —— enq: CI - contention
- 获取Windows版本信息(可能史上最全最精确^o^)