C++ primer学习记录(个人猜想未测试版本)
2014-12-20 16:16
190 查看
学习版本:第五版。
本博文主要记录个人曾经并不知晓知识细节。
因为linux下的编译环境还未进行学习。所以实际代码测试将在今后完成。
红色:需确认。
蓝色:重点。
1)const对象设定为仅在文件内有效。个人认为:.h .cpp属于同文件的概念(未测试)。
2)constexpr:常量表达式标示符。使用此作为前/后缀时,表示此变量/函数为常量表达式。但,具体用途?以及为何需要这样的标示符?
3)但凡使用迭代器的循环,都不要向迭代器增加元素。因为增加元素可能导致容器重新分配内存,导致后续迭代器操作 可能 不按照逻辑执行。
4)迭代器循环中,可以使用删除(earse)操作。但需要注意迭代器执行情况。在可能情况下,尽量不对迭代器循环进行修改。
5)auto未c++ 11新添加内容。需要确定是否好用和代码可读性等等问题。
6)数组的初始化必须是常量表达式。例子:unsinged cnt = 42; string bad[cnt]; //错误,cnt不是常量表达式。
7)不允许对数组进行赋值或者copy。(应该是指对数组指针,而不是数组内容。)
8)在递增前的数据不需要时,尽量使用前置版本( ++i )。因为后置版本需要储存原数据(编译器通常不优化)。也适用于递减版本。
9)位运算不要在有符号数据中使用。容易产生结果不确定问题。
10)sizeof运算符三种情况:p是指针,array_p是数组。
1,sizeof( p ); //指针大小。
2,sizeof( *p ); //指针指向的对象大小。
3,sizeof( array_p ); //数组所占用的内存大小。
注意:数组是一个比较例外的情况。
11)const_cast可以在 const 和 非const之间进行转换。
12)在while条件部分生成的迭代器每次循环也会被注销(开始时也会创建)。
13)泛型算法不依赖容器(不会执行容器操作),但依赖迭代器操作。
14)使用泛型算法前,程序员需要保证 容器可以接受算法要求。例:容器大小(算法fill)。
15)需要进一步了解常函数特性。
本博文主要记录个人曾经并不知晓知识细节。
因为linux下的编译环境还未进行学习。所以实际代码测试将在今后完成。
红色:需确认。
蓝色:重点。
1)const对象设定为仅在文件内有效。个人认为:.h .cpp属于同文件的概念(未测试)。
2)constexpr:常量表达式标示符。使用此作为前/后缀时,表示此变量/函数为常量表达式。但,具体用途?以及为何需要这样的标示符?
3)但凡使用迭代器的循环,都不要向迭代器增加元素。因为增加元素可能导致容器重新分配内存,导致后续迭代器操作 可能 不按照逻辑执行。
4)迭代器循环中,可以使用删除(earse)操作。但需要注意迭代器执行情况。在可能情况下,尽量不对迭代器循环进行修改。
5)auto未c++ 11新添加内容。需要确定是否好用和代码可读性等等问题。
6)数组的初始化必须是常量表达式。例子:unsinged cnt = 42; string bad[cnt]; //错误,cnt不是常量表达式。
7)不允许对数组进行赋值或者copy。(应该是指对数组指针,而不是数组内容。)
8)在递增前的数据不需要时,尽量使用前置版本( ++i )。因为后置版本需要储存原数据(编译器通常不优化)。也适用于递减版本。
9)位运算不要在有符号数据中使用。容易产生结果不确定问题。
10)sizeof运算符三种情况:p是指针,array_p是数组。
1,sizeof( p ); //指针大小。
2,sizeof( *p ); //指针指向的对象大小。
3,sizeof( array_p ); //数组所占用的内存大小。
注意:数组是一个比较例外的情况。
11)const_cast可以在 const 和 非const之间进行转换。
12)在while条件部分生成的迭代器每次循环也会被注销(开始时也会创建)。
13)泛型算法不依赖容器(不会执行容器操作),但依赖迭代器操作。
14)使用泛型算法前,程序员需要保证 容器可以接受算法要求。例:容器大小(算法fill)。
15)需要进一步了解常函数特性。
相关文章推荐
- 个人学习-软件安全测试术语记录(学习ing)
- C++ Primer个人学习笔记 第1章 快速入门
- 虚拟化测试机房会后的一些个人记录
- 学习C++ primer的关键点记录二
- C++ primer 学习记录:面对对象编程之构造函数和复制控制
- Sphinx语音识别学习记录 (一)-基本运行测试
- 个人学习记录
- 分布式版本控制系统Git学习资源收集汇总(附Github个人简历自动生成)
- 在Linux系统下如何控制CVS版本配置个人记录下
- java Web 个人学习记录
- 淘宝分布式系统-TFS学习记录-第一天(编译安装2.6版本)
- CSS 学习&测试记录
- Selenium 网页测试工具和perl脚本结合,我自己记录的学习过程
- C++ Primer学习记录02
- 学习C++ primer的关键点记录一
- SqlServer2005 分页语句,自己简单测试了,感觉速度很快,就记录下来了,便于以后学习。
- C++ Primer学习记录
- ubuntu-11.10-server-i386学习笔记-SVN版本服务器-客户端测试
- RabbitMQ安装测试学习过程简单的记录
- 学习后对正则表达式使用记录(个人)