指针:是一个变量,存放的是地址
引用:是一个对象的别名,是一个指针常量(指针的指向不可以更改,指针指向的值可以更改)
- 引用必须初始化,不可以为空,既然是一个对象的别名,对象都不存在怎么起别名,且初始化后不可以更改,即不能再让它作为其他变量的别名。而指针是一个变量,和其他基本类型一样,可以为空(nullptr),初始化后可以更改。
- 引用不需要显示分配释放内存,指针需要通过new、delete分配和释放内存。
- 引用可以直接使用:
int a = 10;
int & b = a;
b = 2; //b就是a的别名,像a一样的可以直接赋值等
指针必须要解引用:
int * c = & a;
*c = 10; //解引用
在 C++ 中,引用和指针都很有用。引用可以提高代码的可读性和可维护性,而指针可以提供更大的灵活性。
参考:
百度安全验证https://baijiahao.baidu.com/s?id=1777384467860867492&wfr=spider&for=pc