C++ 解引用
获取内存地址和值
在上一页的示例中,我们使用指针变量来获取变量的内存地址(与 &
引用运算符一起使用)。但是,您也可以使用指针通过 *
运算符(解引用运算符)来获取变量的值。
示例
string food = "Pizza"; // 变量声明
string* ptr = &food; // 指针声明
// 引用:使用指针输出 food 的内存地址(0x6dfed4)
cout << ptr << "\n";
// 解引用:使用指针输出 food 的值(Pizza)
cout << *ptr << "\n";
自己动手试一试 »
请注意,这里的 *
符号可能会令人困惑,因为它在我们的代码中起到了两种不同的作用。
- 当在声明中使用时(string* ptr),它会创建一个指针变量。
- 当不用于声明时,它充当解引用运算符。