细说C++(三):C++运算符

 

----C++中的运算符

运算符是一种告诉编译器执行特定的数学或者逻辑操作的符号。C++内置了丰富的运算符。和运算符相关的概念和知识也是C++编程语言中的重要组成部分。这里做一个初步总结。

基本运算符主要分为以下五类

1, 算术运算符

   加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)、取模运算符(%)、自增运算符(++)和自减运算符(- -)。

满足左结合律;当运算优先级相同时,从左到右结合

 

2, 关系运算符

相等运算符(==),不等运算符(!=),大于运算符(>),小于运算符(<),大于等于运算符(>=)以及小于等于运算符(<=)。

(除非重载,关系运算符的运算结果一般为布尔值)

 

3, 逻辑运算符

包括逻辑与运算符(&&)、逻辑或运算符(||)和逻辑非运算符(!)。

其中逻辑与和逻辑或运算在C++中采用短路实现,即对于(A&&B),假如已经运算得知A为false,则不再对B进行运算,直接返回结果false;对于(A||B),假如已经运算得知A为true,则不再对B进行运算,直接返回true。

 

4, 位运算符

位运算符作用于二进制位,并逐位执行操作。(程序中所有的数在计算机内存中都是以二进制存储的)

假设A=60=0b00111100, B=13=0b00001101,则位运算的描述如下:



关于位运算符的妙用,eg:

 二进制补码运算符(~):一个有符号的二进制数的补码通常通过该运算符获得。计算机中有符号整数通常都是采用补码进行表示的。

二进制左移运算符(<<):对于正整数而言,左移一位意味着*2,但是执行效率却比普通的算术运算符高很多。

 二进制右移运算符(>>):对于正整数而言,右移一位意味着/2,但是执行效率却比普通的算术运算符高很多。

 

5, 赋值运算符

赋值运算符其实就是等号(=)以及它与所有算术运算符和位运算符的结合

例如a+=b就等同于a = a + b。赋值运算符可以起到简化代码的作用。C++支持的赋值运算符主要包括:简单赋值运算符(=)、加赋值运算符(+=)、减赋值运算符(-=)、乘赋值运算符(*=)、除赋值运算符(/=)、求模赋值运算符(%=)、左移赋值运算符(<<=)、右移赋值运算符(>>=)、按位与赋值运算符(&=)、按位或赋值运算符(|=)以及按位异或(^=)赋值运算符。

 

6, 其它运算符

成员访问运算符

点运算符;获取类对象的一个成员

 

箭头运算符;ptr->m等价于(*ptr).m

 

条件运算符 ?:  (三目运算符)



7.运算符优先级

当然知道了运算符的作用,还需要知道运算符的优先级



 

 

 

 

 

 

 

  • 14
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值