C++ 中 & 符號的用途是什麼?
在 C++ 中,& 符號用作運算子。它在兩個不同的位置使用,一個用作按位與運算子,另一個用作 指標地址運算子。
按位與
按位與運算子 (&) 將第一個運算元的每個位與第二個運算元的相應位進行比較。如果兩個位都是 1,則該位設定為 1。否則,該位設定為 0。按位與運算子的兩個運算元必須是整數型別。
示例
#include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a & b ) << endl; }
輸出
這將輸出:
0
地址運算子
C++ 提供了兩個指標運算子,即地址運算子 (&) 和間接運算子 (*)。
一個 指標 是一個包含另一個變數地址的變數,或者可以說,包含另一個變數地址的變數被稱為“指向”另一個變數。變數可以是任何資料型別,包括物件、結構體或再次是指標本身。
地址運算子 (&) 是 * 的補碼。它是一個一元運算子,返回其運算元指定的變數 (右值) 的地址。例如:
示例
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // take the address of var ptr = &var; // take the value available at ptr val = *ptr; cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0; }
輸出
編譯並執行上述程式碼後,將產生以下結果:
Value of var :3000 Value of ptr :0xbff64494 Value of val :3000
廣告