最近在看《c++语言的设计与演化》,对指针和引用有了全新的理解,决定写一篇博客记录一下。
指针很好理解,它本身拥有一个地址,地址中存着的是它指向的对象的地址。
int a = 3;
int* ptr = &a;
对于上面所定义变量a和指针ptr,ptr位于地址add1中,add1中存储的是a的地址。
引用是什么?简单的说,引用是别名,也就是其所指对象的第二名称,对引用的修改也就是对其引用对象的修改,从这意义上说,引用和指针很像(实际上对于很多编译器来说引用和指针的汇编是一样的!)。
那么为什么需要引入引用?或者说,引用和指针的区别有哪些?
我们知道,对于一个函数传参来说,一般来说有值传递和指针传递两种。
void func</