C++ 解引用
獲取記憶體地址和值
在上一頁的示例中,我們使用指標變數來獲取變數的記憶體地址(與 &
引用運算子一起使用)。但是,您也可以使用指標透過 *
運算子(解引用運算子)來獲取變數的值。
示例
string food = "Pizza"; // 變數宣告
string* ptr = &food; // 指標宣告
// 引用:使用指標輸出 food 的記憶體地址(0x6dfed4)
cout << ptr << "\n";
// 解引用:使用指標輸出 food 的值(Pizza)
cout << *ptr << "\n";
自己動手試一試 »
請注意,這裡的 *
符號可能會令人困惑,因為它在我們的程式碼中起到了兩種不同的作用。
- 當在宣告中使用時(string* ptr),它會建立一個指標變數。
- 當不用於宣告時,它充當解引用運算子。