C++中运算符的应用示例
创作时间:
作者:
@小白创作中心
C++中运算符的应用示例
引用
1
来源
1.
http://www.cdweb.net/article/gepei.html
C++运算符是程序设计中的重要组成部分,它们用于执行各种操作,从简单的算术运算到复杂的类型转换。本文将详细介绍C++中各种运算符的应用示例,包括一元运算符、二元运算符、函数调用、左值和右值的概念、求值顺序、算术运算符、逻辑和关系运算符、赋值运算符、条件运算符、位运算符、sizeof运算符以及类型转换等。
基础概念
- 一元运算符:作用于一个运算对象的运算符
- 二元运算符:作用于两个运算对象的运算符
- 函数调用也是一种特殊的运算符,它对运算对象的数量没有限制
- 左值:当对象被当做左值的时候,用的是对象的身份(在内存中的位置)。
- 右值:当一个对象被当做右值的时候,用的是对象的值(内容)。
求值顺序
在大多数情况下,不会明确指定求值顺序。只有四种运算符明确规定可运算对象的求值顺序:
- 逻辑与运算符(&&):先求左侧才求右侧,只有当左侧为真时才计算右侧的值
- 逻辑或运算符(||)
- 条件运算符(?:)
- 逗号运算符(,)
算术运算符
bool b = true;
bool b2 = -b; //b2是true。-1不等于0,所以b2的值为真
C++11规定,商一律向0取整(即直接切除小数部分)。
若m%n不等于0,则它的符号和m相同:
(-m)/n 和 m/(-n) 都等于 -(m/n)
m%(-n) 等于 m%n
(-m)%n 等于 -(m%n)
逻辑和关系运算符
关系运算符作用于算术或指针类型,逻辑运算符作用于任意能转换成布尔值的类型。它们的返回值都是布尔类型。
短路求值(short-circuit evaluation)
关系运算符的求值结果是布尔值,连在一起用会产生意想不到的结果:
if(i < j < k) //若k大于1则为真
应改为:
if(i < j && j < k)
赋值运算符
赋值运算符飞左侧运算对象必须是一个可修改的左值。
如果赋值运算符的左右两个运算对象类型不同,则右侧运算对象将转换成左侧运算对象的类型。
赋值运算满足右结合律
int i, j;
i = j = 0; //正确,都被赋值为0
条件运算符 ?:
cond ? expr1 : expr2
满足右结合律,运算对象一般按照从右向左的顺序组合。
位运算符
作用于整数类型的运算对象,以及一种名为bitset的标准库类型的运算对象。
~ :位求反
<< :左移
>> :右移
& :位与
^ :位异或
| :位或
sizeof运算符
返回所占字节数,所得值是一个size_t类型。
有如下两种形式:sizeof(type)
sizeof expr
满足右结合律。
类型转换
隐式类型转换
大多数情况下数组转换成指针。
- 当数组被用作decltype关键字参数,或者作为取址符(&)、sizeof及typeid等运算符的运算对象时,上述转换不会发生。
显示转换
命名的强制类型转换
cast-name(expression)
cast-name有如下几种:
dynamic_cast //运行时类型识别
static_cast //只要不包含底层const,均可进行强制类型转换,告诉编译器不在乎精度损失
const_cast //只能改变运算对象的底层const,称为去掉cast性质(cast away the const)。将常量对象转换为非常量对象。
reinterpret_cast //
本文原文来自创新互联
热门推荐
站桩功入门指南:基本原则、练功时间和注意事项
郭待封:唐朝名将郭孝恪次子,他的一生经历了什么?
新手选购笔记本避坑指南,看懂核心配置不被忽悠
得了糖尿病要如何饮食?有这5个饮食小建议!
看涨期权的含义是什么?看涨期权的操作策略有哪些?
水松木:葡萄酒的守护神与多元化制品的材料
嘴角两边红痒干燥起皮怎么回事
白内障术前检查全攻略:项目、时间安排及医保报销指南
如何查看docker镜像的版本
大气压的发现
面试官:你做过最失败的事情是什么?回答“挖坑题”谨记3大原则
真实案例,告诉你“笑气”的危害和非法经营的后果!
弥散制氧机维护注意事项
【运动keep fit】运动前后的营养补充指南:跟着奥运冠军一起合理进食
丙申日柱男命,日柱丙申男命
如何处理ETC欠费问题,避免影响信用及出行
马路房噪音大、灰尘多?4种植物帮你“降噪除尘”,打造安静小窝
质子治疗的技术革新与临床前景:为儿童肿瘤治疗带来希望
对比ESP系列和树莓派:选择合适的开发板
出汗怎么盘?如何有效管理和减少出汗?
蛋白粉需要放冰箱吗?正确保存方法在这里
楼兰古国神秘消失,巅峰时有一万军人,而亡或因今日常见的蝼蛄?
奥尔良烤翅,口感独特的美食制作方法
从租计征房产税怎么算:计算步骤与实操要点
《变形联盟》机甲热浪席卷市场,从原创IP到市场新标杆的蜕变之路
CSGO最舒服的准星参数设置指南,提升你的射击精准度
11月起电动车重大变革:出厂限速25km/h,无法改装
饭后多久运动是降血糖最好的
咳嗽迁延不愈如何应对?
刀郎70亿播放背后:草根传奇与精英之战