C++笔记 4.2 常用运算符

primer C++笔记

算数运算符

算数运算符的运算对象和求值结果都是右值。
在这里插入图片描述
作用于指针
在这里插入图片描述
m%n匹配m的符号
在这里插入图片描述
在这里插入图片描述

逻辑和关系运算符

关系运算符

关系运算符满足左结合律
在这里插入图片描述

赋值运算符

vec进行了赋值而不是初始化
在这里插入图片描述
在这里插入图片描述
赋值运算符满足右结合律

int i,j;
i = j = 0;

赋值运算符优先级较低
在这里插入图片描述
在这里插入图片描述
复合赋值运算符
在这里插入图片描述

递增和递减运算符

在这里插入图片描述
在这里插入图片描述
在一条语句中混用解引用和递增运算符 :后置版本
后置运算符的优先级要高于解引用运算符 因此 **pBeg++ 等价于 (pBeg++)
在这里插入图片描述
求值顺序 未定义行为
在这里插入图片描述

成员访问运算符

点运算符优先级高于解引用运算符; 后置加加运算符优先级高于解引用运算符

(*p).size()

在这里插入图片描述

条件运算符

在这里插入图片描述

finalgrade = (grade > 90) ? "high pass" : (grade < 60) ? "fail" : "pass";

在这里插入图片描述

位运算符

在这里插入图片描述
设置第27位
在这里插入图片描述
在这里插入图片描述

sizeof运算符

sizeof返回的是表达式结果类型的大小。与众不同的是,sizeof并不实际计算其运算对象的值

sizeof *p //sizeof满足右结合律并且与*运算符的优先级一样。等价于sizeof(*p)

在这里插入图片描述
在这里插入图片描述

sizeof(ia) / sizeof(*ia)	//返回ia的元素数量

逗号运算符

在这里插入图片描述

类型转换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他隐式类型转换

数组转换成指针
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类类型定义的转换
在这里插入图片描述

显示转换

static_cast dynamic_cast const_cast reinterpret_cast

static_cast
在这里插入图片描述
const_cast
const_cast只能改变运算对象的底层const

const char *pc;
char *p = const_cast<char *>(pc) 	//正确:但是通过p写值是未定义的行为
	int a = 1;
	const int *p = &a;

	int *q = const_cast<int *>(p);
	*q = 2;

	cout << a << endl;		//2
	cout << *q << endl;		//2

运算符优先级表

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值