C++ primer 学习记录-基础篇2(第四章)操作符及优先级

第四章


4.1 操作符
+   a + b
-   a - b
*   a * b
/   a / b
%   a % b
!   !a
<  
<=  
>  
>=  
==  
!=  
&&  
||


sizeof( pa ) 用于计算对象或者类所占用的内存大小,返回类型为size_t.size_t在cstddef中包含.
比如 sizeof(int) 等于4.


new 用于分配heap空间,delete删除空间.


4.2 位操作符

<< 按位左移 向左或右位移移到外面的位丢弃.右边位用0填充
>> 按位右移 如果是无符号数,左边填充0;否则拷贝符号位填充左边位
~  按位非 将0设置为1,将1设置为0
&  按位与 两个操作数的位都是1时结果为1,否则为0
^  按位异或 两个操作数的位只有1个为1时结果为1,否则为0
|  按位或 两个操作数的位只要有1个为1时结果为1,否则为0
&= 按位与赋值
^= 按位异或赋值
|= 按位或赋值
注: 编程中1表示true,0表示false

4.3 bitset操作
#include<bitset>
具体使用方式,查询API


4.4 操作符优先级
见下图




4.5 类型转换
隐式基本原则: 小类型向大类型转换,以防止精度丢失.
在表达式中如果有long double,则所有的数据都转换成long double型;
如果有double,则所有的数据都转换成double;
如果有float则其他的数据转换成float型;
如果所有的类型都小于int,则将与提升为整型.
例: int ret = 3.14 + 3 ;
结果为6.过程3.14为double型,3为int,首先将3转换为double型再与3.14相加,得结果6.14,最后将double转换为int.会有编译器警告.


4.5.1 强制转换
static_cast 所有可以隐式转换的类型都可以用此转换.
dynamic_cast
const_cast
reinterpret_cast

(type)object旧式强制转换


很容易搞忘switch语句的定义,备忘下.
switch(表达式)
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
……
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值