在这里,我们将了解C/C++中的一元运算符。一元运算符是作用于单个操作数以产生新值的运算符。一元运算符如下。
运算符 | 描述 | 间接运算符(*)
| 它对指针变量进行操作,并返回一个等于指针地址值的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