人气 153

[游戏程序] 注意C++和C#引用的区别 [复制链接]

九艺网 2017-3-10 17:00:22

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
C#用多了,最近又回到C++编程。发现有些致命的区别,如果不注意,很可能导致一些莫名其妙的bug。引用类型就是其中一个。  在C#中,引用跟指针比较接近,除了值类型(int, float, struct等),其它类型都是引用类型。它本身是一个栈上面的变量,指向堆上面的具体实例,可以随意更改它指向的实例。
  而在C++中,引用是变量的一个别名而已,它需要在初始化时指向一个实例,之后对它的操作就相当于在原来实例上做修改。大部分情况下像C#更改引用的用法是可以编译通过的:
  ClassA a1, a2;
  ClassA &a = a1;
  a = a2;
  不要以为a现在是a2的引用,最后一句是将a2的赋值给a1了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-5-13 17:13 , Processed in 0.119347 second(s), 23 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.