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
广告