读书笔记:《The C++ programming Language》 第五章
来源:互联网 发布:mysql 数据不能重复 编辑:程序博客网 时间:2024/06/02 18:18
The sublime and the ridiculous are often so nearly related that it is difficult to class them separately
-- Tom Paine
真理与荒谬是如此的接近,以至于无法单独把他们分开
-- 托马斯.潘恩(英国作家)
本章也是C语言的基础,因此,这章讲的就比较粗略了,发现作者对语法不是很感兴趣, 就像他在第二章里写的: The emphasis is on design approaches and ways of organizing programs rather than on language details.
这本书的结构就是这样的,详细讲的是思想,具体的语法作者在后面列了一个附录,如有需要敬请查阅.
不过这章也讲了一些底层的东西和容易错的问题,深度还是够的, 比如:
- char *p="Plato" , 其中,此字符串是不允许修改的
- 指针的操作:关于数组指针大小问题(面试常考)
- 常量的空间分配问题: 如果常量的值能完全确定, 那么,就不会分配有空间(和宏定义是一样的) 但如果常量的地址被使用,那么,还要分配空间, 常量数组必须分配空间,因为无法确定使用哪个元素,但很多机器是把常量数组放在只读空间,从而提高性能
- 内存对齐(面试常考的问题)
- 指针常量和常量指针(面试常考)
- 还介绍了一个精致的小程序: 输入N个字符串,统计重复字符串出现的次数. 这个似乎以前面试也考过. 如果用C语言的思维会比较麻烦,还要考虑溢出的问题. 但用C++的思维却很简单, 具体例子请见书
章后作者的建议:
1. 避免对指针做不常见的操作
2. 小心数组越界问题
3. 使用0而不是NULL
4. 使用vector和valarray,而不是c语言内置的数组(作者已经强调好多次了,不要用原来的内置的数组了!)
5. 使用string而不是char数组
6. 尽量少使用引用做函数参数
7. 除非做底层操作,不要使用void*
8. 不要使用”魔术数字”,使用有含义的常量(这个恐怕是所有语言都有提及吧)
本章思维导图:
- 读书笔记:《The C++ programming Language》 第五章
- TCPL(The C Programming Language)读书笔记 第五章 指针与数组
- C程序设计语言(The C Programming Language) 读书笔记
- TCPL(The C Programming Language)读书笔记 第六章 结构
- The C Programming Language 第三章控制流 读书笔记
- The C Programming Language 第四章函数与程序结构 读书笔记
- 《The C Programming Language》读书笔记 说明
- 《The C Programming Language》读书笔记1
- 《The C Programming Language》读书笔记2
- 《The C Programming Language》读书笔记3
- 《The C Programming Language》读书笔记4
- 《The C Programming language》读书笔记5
- 《The C Programming Language》读书笔记 说明
- 《The C Programming Language》读书笔记1
- 《The C Programming Language》第一章读书笔记
- 《THE C PROGRAMMING LANGUAGE》读书笔记一
- 《THE C PROGRAMMING LANGUAGE》读书笔记二
- The C programming language --第一章 基本概念读书笔记
- VC6代码向VC2005升级时要注意的问题
- 郎咸平: 中国经济回暖与华尔街的阴谋 (2)
- asp.net缓存处理
- xsd type 继承表
- ZF解决中文UTF-8乱码问题
- 读书笔记:《The C++ programming Language》 第五章
- TestDirector8.0数据库备份与还原操作手册
- 把字符串中的英文双引号替换成中文
- 19-22 记事
- 《信华ERP生产管理软件》BOM表增强版
- 测试串口线
- 《信华企业管理系统/企业ERP管理软件》
- Jconsole_一个监控JVM资源的JDK自带小工具
- Eclipse 正则插件