C++ 中 & 符号的用途是什么?


C++ 中,& 符号用作运算符。它在两个不同的位置使用,一个用作按位与运算符,另一个用作 指针地址运算符

按位与

按位与运算符 (&) 将第一个操作数的每个位与第二个操作数的相应位进行比较。如果两个位都是 1,则该位设置为 1。否则,该位设置为 0。按位与运算符的两个操作数必须是整数类型。

示例

Open Compiler
#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++ 提供了两个指针运算符,即地址运算符 (&) 和间接运算符 (*)。

一个 指针 是一个包含另一个变量地址的变量,或者可以说,包含另一个变量地址的变量被称为“指向”另一个变量。变量可以是任何数据类型,包括对象、结构体或再次是指针本身。

地址运算符 (&) 是 * 的补码。它是一个一元运算符,返回其操作数指定的变量 (右值) 的地址。例如:

示例

Open Compiler
#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

更新于:2023年11月7日

29K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告