C++ 解引用

获取内存地址和值

在上一页的例子中,我们使用指针变量来获取变量的内存地址(与 & 引用运算符一起使用)。

但是,您还可以使用指针来获取变量的值,方法是使用 * 运算符(解引用运算符):

实例

string food = "Pizza";  // 变量声明
string* ptr = &food;    // 指针声明

// 引用:使用指针输出 food 的内存地址 (0x6dfed4)
cout << ptr << "\n";

// 解引用:使用指针输出 food 的值 (Pizza)
cout << *ptr << "\n";

亲自试一试

请注意,这里的*符号可能会让人困惑,因为它在我们的代码中做了两件不同的事情:

  • 在声明中使用时(string* ptr),它创建了一个指针变量
  • 在声明之外使用时,它充当解引用运算符