值类型和引用类型的区别

值类型

按顺序存放于栈中,一个值对应一个储存空间。
有int,bool,枚举,结构体等。
例如:
int a =10;
int b=a;
a=5;
b=10;
如上,定义了俩个整数,把a的值赋给b,改变a后b并不会改变,因为他们的储存空间是不一样的,改其中一个不会影响另一个。

引用类型

在堆空间中随机取出一块空间存放值,并在栈中存储一个用来寻找堆空间存放的值的地址。
有数组,字符串(string)。
例如:值类型和引用类型的区别
如图定义了俩个数组,一个等于另一个,但是他们是相同的,如改其中一个那另一个也会改变,这就是引用类型