C++ 中指针和引用都是用来间接访问变量的工具。
指针是一个变量,它存储了另一个变量的内存地址。通过指针,可以间接地访问和修改指针所指向的变量。要声明一个指针,需要使用星号 (*) 表示指针类型,然后再加上变量名。例如:
int x = 5;
int* ptr = &x; // 创建一个指向 x 的指针 ptr
引用是变量的别名,它提供了一个变量的别名,可以通过这个别名直接访问和修改变量。要声明一个引用,需要使用变量名加上引用符号 (&)。例如:
int x = 5;
int& ref = x; // 创建一个指向 x 的引用 ref
指针和引用的主要区别有以下几点:
- 指针可以为空(null),引用必须与某个变量绑定。
- 指针可以在运行时指向不同的变量,引用在声明后不能再改变。
- 指针可以被重新赋值,引用不可以。
- 对空指针进行解引用是非法的,而对未初始化的引用进行访问通常会导致程序崩溃。
使用指针或引用的选择取决于具体的需求。通常情况下,引用更加方便和安全,而指针具有更多的灵活性和控制能力。