zoukankan      html  css  js  c++  java
  • 注意C++和C#引用的区别

    C#用多了,最近又回到C++编程。发现有些致命的区别,如果不注意,很可能导致一些莫名其妙的bug。引用类型就是其中一个。

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

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

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

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

    谨以此篇献给C#的熟练程序员 :)

  • 相关阅读:
    ASP.NET Session
    表格导入和导出
    C#根据当前时间获取其他时间
    SuperGridControl全局设置
    无框窗体移动
    窗体在屏幕边缘隐藏
    comboBoxEx
    CROSS JOIN
    supergirdcontrol单元格添加控件
    ADVtree
  • 原文地址:https://www.cnblogs.com/wonderow/p/1845516.html
Copyright © 2011-2022 走看看