C ++中的一元运算符

一元运算符是作用于单个操作数以产生新值的运算符。一元运算符如下-

  • 间接运算符(*)-对指针变量进行运算,并返回一个与指针地址处的值等效的l值。这称为“取消引用”指针。

  • 地址运算符(&)  -一元地址运算符(&)采用其操作数的地址。address-of运算符的操作数可以是函数指定符,也可以是指定对象的l值,该对象不是位字段,并且没有用寄存器存储类说明符声明。

  • 一元加运算符(+) -一元加运算符(+)的结果是其操作数的值。一元加号运算符的操作数必须是算术类型。

  • 一元求反运算符(-) --(一元减)运算符求反操作数的值。操作数可以具有任何算术类型。结果不是左值。

  • 逻辑求反运算符(!) -逻辑求反运算符(!)反转其操作数的含义。操作数必须是算术或指针类型(或计算结果为算术或指针类型的表达式)。操作数被隐式转换为bool类型。

  • 一个补码运算符(〜) -一个补码运算符(有时称为“按位补码”或“按位NOT”运算符)产生其操作数的按位补码。操作数必须是整数类型。

  • 前缀增量运算符(++) -前缀增量运算符(++)在其操作数上加一个;该增加的值是表达式的结果。操作数必须是非const类型的l值。结果是与操作数相同类型的l值。

  • 前缀减量运算符(-) -前缀减脂运算符(-)从其操作数中减去一个;这个去脂的值是表达式的结果。操作数必须是非const类型的l值。结果是与操作数相同类型的l值。

  • 强制转换运算符() -类型强制转换提供了一种在特定情况下显式转换对象类型的方法。进行类型转换后,编译器将类型转换表达式视为类型名称。

  • sizeof运算符-这是一个编译时一元运算符,可用于计算其操作数的大小。

  • new运算符-这是一个内存分配运算符,用于动态分配内存。

  • 删除运算符 -这是一个内存分配运算符,用于取消分配动态分配的内存。

这些运算符具有从右到左的关联性。一元表达式通常涉及后缀或主表达式之前的语法。

示例

让我们看一下-(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