C#用多了最近又回到C++編程發現有些致命的區別如果不注意很可能導致一些莫名其妙的bug引用類型就是其中一個
在C#中引用跟指針比較接近除了值類型(int float struct等)其它類型都是引用類型它本身是一個棧上面的變量指向堆上面的具體實例可以隨意更改它指向的實例
而在C++中引用是變量的一個別名而已它需要在初始化時指向一個實例之後對它的操作就相當於在原來實例上做修改大部分情況下像C#更改引用的用法是可以編譯通過的
ClassA a a;
ClassA &a = a;
a = a;
不要以為a現在是a的引用最後一句是將a的賦值給a了!
謹以此篇獻給C#的熟練程序員 :)