C++中的引用和指针都用于处理内存地址,但它们有明显的区别。以下是对C++引用和指针的详细描述,包括它们的定义、使用方法和相应的示例源代码。
引用: 引用是一个别名,通过&
符号声明,必须在初始化时绑定到一个对象,之后不能再绑定其他对象。
指针: 指针是一个变量,存储另一个变量的地址,通过*
符号声明。
引用: 引用在声明时需要初始化,之后可以像原变量一样使用,没有自己的地址。
指针: 指针在声明后可以重新指向其他地址,通过解引用(*
)操作访问所指向的值。
引用: 不存在空引用,必须在初始化时与某个对象绑定。
指针: 可以是空指针,即指向空地址。
#include <iostream>
int main() {
int num = 5;
int& refNum = num; // 引用初始化
refNum = 10; // 修改原变量
std::cout << "num: " << num << std::endl; // 输出: 10
return 0;
}
#include <iostream>
int main() {
int num = 5;
int* ptrNum = # // 指针初始化
*ptrNum = 10; // 修改原变量
std::cout << "num: " << num << std::endl; // 输出: 10
return 0;
}
这两个示例演示了引用和指针分别修改原变量的值,突显了它们在使用和初始化上的不同之处。