A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯奎智 中级黑马   /  2012-7-5 11:00  /  1510 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题
C#使用引用替代指针,那么C#的引用和C++的引用一样吗?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
1,C++引用的引用,实参用变量名,形参用引用;
2,C++引用调用时,形参是实参的别名,形参的改变也肢影响实参,注意,实参只能用变量名,不能用常量;
3,C#的引用,引用类型的变量不直接包含其数据;它包含的是对其数据的引用;
4,C#中,当通过值传递引用类型的参数时,有可能更改引用所指向的数据,如某类成员的值。但是无法更改引用本身的值;应使用 ref 或 out 关键字传递参数

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
C#引用类型的变量保存了实例数据的内存引用。
而C++的则不占,它就是一个变量的别名而已,且不能修改,只能初始化设置一次值。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
c++中的通过引用,得到引用的地址,通过这个地址改变可以其地址里的值;而c#中不一样,只能通过引用得到其地址里的值,而不能改变它(也就是只能读不能写!)。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马