C++笔记2
来源:互联网 发布:wdcp数据库备份在哪里 编辑:程序博客网 时间:2024/06/05 14:12
1.const void * 可以指向任何const类型的指针
2.void *不能进行解引用
3.算术运算的长度有限
4.短路求值
5.如果&&的操作会遇到边界等比较危险的情况,则应将其放于左值操作数
6.不应该将条件表达式串接
7.移位操作的右操作数必须小于左操作数的位数
8.位与 逻辑与 位或 逻辑或
9.bitset优于整型数据的低级直接位操作
10.移位操作符比算术操作符优先级低,但比关系运算符的优先级高
11.赋值操作符具有右结合性
12.使用前自增运算符来优化性能
13.自增运算符的优先级高于解引用
14.解引用的优先级低于点运算符
15.圆括号凌驾于优先级之上
16.C++使用直接初始化的规则初始化动态创建的对象
几乎在动态创建对象时都可以对其进行初始化
17.悬垂指针 删除动态分配对象的指针之后,需要将指针值设为0,这样可以防止使用已删除的指针。
18.隐式类型转换需要将表达式中的类型转换为最长的数据类型。
19.强制类型转换本质上是非常危险的
const_cast添加或删除const特性
编译器执行的隐式类型转换都可以由static_cast转换
reinterpret_cast使用起来非常危险(本质上依赖机器)
原有的强制类型转换可视性比较差,难以跟踪
dynamic_cast用于结合继承和运行时的类型识别
20.整型提升
21.空语句并不都是无害的
22.if语句中的条件语句可以是变量定义,但必须要初始化,且初始化类型为算术类型或者指针类型。
23.悬垂else(if多与else的情况,使用{}可以解决这一问题)
24.省略for循环体内的判断条件就必须在循环体内增加break或者return语句
25.goto语句 跳转到程序内带标号的语句
26.如果没有try块,程序将自动调用teminate终止程序退出
27.计算下溢
28.用于调试时执行的代码
#ifndefine NDEBUG
#endif
在完成代码编写的时候,&CC -DNDEBUG main.c定义NDEBUG变量
29.assert检测不可能条件
30.带标号的语句
31.预处理宏
32.throw或者raise
33.throw出来一个对象,并将程序转到最近处理该异常的catch语句中去
0 0
- C 学习笔记2
- C语言笔记2
- c程序设计语言笔记2
- <<Effecitve C++>>笔记2
- c学习笔记(2)
- C语言笔记2
- C语言笔记2
- Objective-C笔记-2
- objective-c 笔记2
- C语言 笔记2
- 《Exceptional C++》笔记(2)
- C++--笔记2
- C语言笔记2
- c语言笔记2
- C++plus 笔记2
- c语言笔记-2
- C复习笔记(2)-6.18
- c sharp学习笔记2
- TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
- 输出最大和第二大的数
- dom
- android 获取手机通讯录联系人,模拟通讯录显示
- 使用Android studio创建apk
- C++笔记2
- OkHTTp简单封装
- 258.LeetCode Add Digits(easy)[数学问题 求一个数的树根]
- 10得阶乘
- 两个一位数相乘
- 浏览器缓存知识小结及应用
- 树莓派 debian 创建root账户 切换账户 并且远程登录
- TCP/IP详解学习笔记(6)-UDP协议
- 利用栈ADT写了一个简单的四则混合运算