第四章 表达式

文章详细介绍了C++中的表达式类型、运算符分类、类型转换、运算符重载、左右值、算术和逻辑运算、赋值运算、递增递减、成员访问、条件运算符、位运算、sizeof运算符、逗号运算符以及类型转换规则,强调了实际编程中遇到的常见概念和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第四章 表达式

字面值、变量、算术和逻辑运算式都属于表达式

4.1 基础

第一小节提到了运算符分类、类型转换、运算符重载、左右值等基本概念

C++运算符

类型转换

隐式转换 - cppreference.com包含所有自动类型转换的规则

一般算术转换 - cppreference.com讲了算术二元运算符一般会做的公共类型转换

具体见4.11节

运算符重载

只能重载运算对象和返回值的类型,优先级、结合律、运算对象个数不可重载

见后文

左右值

这里只作简单区分【Modern C++】深入理解左值、右值-c++ 左值 右值

左值一般可以代替右值使用,反过来不允许

优先级与结合律

用多了就知道结合律了,一般都带括号比较稳妥

求值顺序

只有&&||?:四种运算符规定了求值顺序

其他运算符没有规定(有利有弊)

4.2 算术运算符

会进行一般算术转换(见上面类型转换);对象和结果都是右值

溢出属于UB;

除法向0取整;取余运算规则是m%n=m - (m/n) * n

4.3 逻辑和关系运算符

&&和||都有短路策略:左侧为真(假)才对右侧求值

  • 练习4.10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

+xiaowenhao+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值