首先本人只是初看C++Prime,然后写下自己的一些问题与收获,并不代表正确答案,大家随便看看就好,欢迎大家纠错和一起讨论学习
1.C++引用的概念
引用主要是创建引用然后引用另外一种类型,但是并不开辟对应的空间,是将初始值与引用绑定在一起。
举个例子,一般大家初始化的时候会写 int i =10,int b = i;这就是简单的初始化概念,整形初始化就是在栈开辟一块空间然后该存入int i=10,而 int b = i则是将i 的值拷贝过来重新开辟一个空间,并将10存入其中,这是一般的初始化;
而引用语句 int i =10, int &b = i, 这个例子则是先让 i 开辟一个空间,然后将10存入其中,而引用b则是将i与自己绑定在一起,相当于一个箭头指向的问题,并没有开辟空间并且也不是对象,可以称为 i的别名,
大家可以将例子延伸,比如 int c = b,也就是 int c=i。
2.C++指针概念
指针其实与引用类似,都是指向另外一种类型的复合类型,同样实现了对其他对象之间访问,但是又有不同
不同在于:
(1)指针数据类型为对象而引用则是对象的别称。
(2)指针可以对其赋值和拷贝,并且允许先后指向几个不同的对象,而引用只能捆绑一个对象并且不能更改。
(3)指针其实无需在定义时赋初值,但引用则需要一个对象进行捆绑,并且在块作用域中的指针,如果没有赋初值也会获得一个随机的值。