c++primer第四章表达式小结-4
来源:互联网 发布:bt29万能钥匙下载软件 编辑:程序博客网 时间:2024/06/05 20:38
第四章-----表达式
1.C++ 语言提供了两种类似于 vector 和迭代器类型的低级复合类型——数组和指针。与 vector 类型相似,数组也可以保存某种类型的一组对象;而它们
的区别在于,数组: 长度是固定的。数组一经创建,就不允许添加新的元素。不允许数组直接复制和赋值,数组的长度是固定的。
2.指针: 可以像迭代器一样用于遍历和检查数组中的元素。现代 C++ 程序应尽量使用 vector 和迭代器类型,而避免使用低级的数组和指针。
3.void* 指针C++ 提供了一种特殊的指针类型 void*,它可以保存任何类型对象的地址。
4.当一个对象被用作右值的时候,用的是对象的值(内容),当对象被用作左值的时候,用的是对象的身份-在内存中的位置。左值既可以在等号左边,也可以在等号右边。右值只能在右边。
5.在表达式求值过程中,编译器的隐形转换运算对象常常由一种类型转换成另一种类型。小整数类型(如bool、char、short等)通常会被提升成较大的整数类型,主要是int。const 不能转成非const.,反方向可以。除非使用const_cast显示转换 。。参与取余运算对象必须是整数类型。
6. c++11新标准规定整数相除的商一律向0取整(即直接切除小数部分)。逻辑与(&&)和逻辑或(||)满足短路求值的策略。
7.显示类型转换:
static_cast:任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast。
const_cast:只有const_cast且它仅仅只能改变运算对象的底层const。对于将常量对象转换成非常量对象的行为,我们一般称为“去掉cosnt性质。就可以执行写操作,如果对象本身(一般是指针指向的对象)是非常量,写是合法的,但如果对象是一个常量,使用const_cast执行写操作就是未定义。
dynamic_cast:用于将基类的指针或引用安全的转换成派生类的指针或引用。
reinterpret_cast:reinterpret_cast 通常为运算对象的位模式提供较低层次上的重新解释。非常危险
注意:强烈建议程序员避免使用强制类型转换。
- c++primer第四章表达式小结-4
- c++primer第四章 表达式
- C++Primer第四章
- C++primer 第四章
- 【重学《C++Primer第四版》】第五章、表达式
- 《C++primer(第五版)》学习之路-第四章:表达式
- C++ primer | 第四章 表达式
- C++ Primer 第四章 表达式
- C++ Primer 第四章 表达式
- C++primer plus第四章
- C Primer plus 第四章
- C Primer Plus 第四章
- C++PRIMER第四章练习
- C++Primer习题第四章
- C++ Primer 【第四版】第五章 表达式
- [C++ primer]第四章笔记-表达式
- c++ primer概念整理第四章 表达式
- C++Primer第五版【学习笔记】——第四章 表达式
- OpenGL揭秘之推导正交投影变换
- hiho一下 第119周网络流五·最大权闭合子图
- CNN 中, 1X1卷积核到底有什么作用呢?
- hive 复制整段语句是出现 Display all 475 possibilities? (y or n)错误的处理方法
- theano中训练方法和模型的一些写法
- c++primer第四章表达式小结-4
- 类的高级概念
- CentOS7 yum提示:another app is currently holding the yum lock;waiting for it to exit
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- poj 2785 4 Values whose Sum is 0 (二分)
- 多线程中this.getName()和Thread.currentThread().getName()返回名字不一样的问题
- tomcat性能优化
- Kali Linux 无线渗透测试入门指南 第十章 WPS 和 探针
- jav继承--类的高级概念