定义
解引用是一种操作,用于访问指针或引用所指向的内存位置中存储的值。
在许多编程语言中,包括C++,当你有一个指针变量时,这个变量存储的是另一个变量的内存地址,而不是直接存储那个变量的值。如果你想要访问或者修改这个指向的变量的值,你就需要进行解引用操作。
在C++中,解引用操作符是一个星号(*),用于前置指针变量。假设你有一个指针变量int* ptr,它指向一个整数变量,那么*ptr就是对ptr的解引用,它表示ptr指向的内存位置中存储的整数值。
例如:
int x = 10; // 定义一个整数变量x
int* ptr = &x; // 创建一个指针变量ptr,指向x的地址
// 现在,通过解引用ptr来访问x的值
cout << *ptr << endl; // 输出: 10
// 也可以通过解引用来修改x的值
*ptr = 20; // 通过ptr解引用,修改x的值为20
cout << x << endl; // 输出: 20
在这个例子中,ptr是一个指向x的指针,*ptr是对ptr的解引用操作,它让我们能够访问和修改x的值,即使我们是通过指针ptr来进行操作的。