C++ 中的一元运算符
一元运算符是指作用于单个操作数以生成新值的运算符。一元运算符如下所示
运算符 | 描述 |
---|---|
间接运算符 (*) | 它作用于指针变量并返回一个等效于指针地址处值的左值。这称为“解除引用”指针。 |
取地址运算符 (&) | 一元取地址运算符 (&) 获取其操作数的地址。取地址运算符的操作数可以是函数指示符,也可以是指定对象的左值,该对象不是位字段,并且没有使用寄存器存储类说明符声明。 |
一元加运算符 (+) | 一元加运算符 (+) 的结果是其操作数的值。一元加运算符的操作数必须是算术类型。 |
一元负运算符 (-) | -(一元减)运算符对操作数的值取反。操作数可以具有任何算术类型。结果不是左值。 |
逻辑非运算符 (!) | 逻辑非运算符 (!) 反转其操作数的含义。操作数必须是算术类型或指针类型(或计算结果为算术类型或指针类型的表达式)。操作数隐式转换为 bool 类型。 |
按位取反运算符 (~) | 按位取反运算符,有时称为“按位补码”或“按位非”运算符,生成其操作数的按位补码。操作数必须是整型。 |
前缀递增运算符 (++) | 前缀递增运算符 (++) 为其操作数加 1;此递增值是表达式的结果。操作数必须是左值,且类型不为 const。结果是与操作数类型相同的左值。 |
前缀递减运算符 (--) | 前缀递减运算符 (--) 从其操作数中减去 1;此递减值是表达式的结果。操作数必须是左值,且类型不为 const。结果是与操作数类型相同的左值。 |
强制转换运算符 () | 类型转换提供了一种在特定情况下显式转换对象类型的方法。在进行类型转换后,编译器将强制转换表达式视为 type-name 类型。 |
sizeof 运算符 | 它是一个编译时一元运算符,可用于计算其操作数的大小。 |
new 运算符 | 它是一个内存分配运算符,用于动态分配内存。 |
delete 运算符 | 它是一个内存分配运算符,用于释放动态分配的内存。 |
这些运算符具有从右到左的结合性。一元表达式通常涉及在后缀或主表达式之前出现的语法。
示例
让我们看看 -(减号) 和 casting() 一元运算符的示例。
#include<iostream> using namespace std; int main() { int x; float y = 1.23; x = (int) y; x = -x; cout << x; return 0; }
输出
这将输出 -
-1
广告