一元运算符是作用于单个操作数以产生新值的运算符。一元运算符如下:
经营者 | 描述 |
---|---|
间接运算符(*) | 它对指针变量进行操作,并返回一个等于指针地址值的l值。这称为“取消引用”指针。 |
运算符地址(&) | 一元地址运算符(&)采用其操作数的地址。address-of运算符的操作数可以是函数指定符,也可以是指定不是位字段且未用寄存器存储类说明符声明的对象的l值。 |
一元加号运算符(+) | 一元加运算符(+)的结果是其操作数的值。一元加号运算符的操作数必须是算术类型。 |
一元求反运算符(-) | -(一元减)运算符使操作数的值取反。操作数可以具有任何算术类型。结果不是左值。 |
逻辑否定运算符(!) | 逻辑否定运算符(!)反转其操作数的含义。操作数必须是算术或指针类型(或计算结果为算术或指针类型的表达式)。操作数被隐式转换为bool类型。 |
一个补码运算符(〜) | 一个人的补码运算符有时称为“按位补码”或“按位NOT”运算符,产生其操作数的按位补码。操作数必须是整数类型。 |
前缀增量运算符(++) | 前缀增量运算符(++)在其操作数后加一个;该增加的值是表达式的结果。操作数必须是非const类型的l值。结果是与操作数相同类型的l值。 |
前缀减量运算符(-) | 前缀减量运算符(-)从其操作数中减去1;该减少的值是表达式的结果。操作数必须是非const类型的l值。结果是与操作数相同类型的l值。 |
演员() | 类型转换提供了一种在特定情况下显式转换对象类型的方法。进行类型转换后,编译器将cast-expression视为类型type-name。 |
大小运算符 | 它是一个编译时一元运算符,可用于计算其操作数的大小。 |
新运算符 | 它是用于动态分配内存的内存分配运算符。 |
删除运算符 | 它是一个内存分配运算符,用于取消分配动态分配的内存。 |
这些运算符具有从右到左的关联性。一元表达式通常涉及后缀或主表达式之前的语法。
让我们看一下-(minus)和casting()
一元运算符的示例。
#include<iostream> using namespace std; int main() { int x; float y = 1.23; x = (int) y; x = -x; cout << x; return 0; }
输出结果
这给出了输出-
-1