《C++ Primer 4th》学习笔记(持续更新)
来源:互联网 发布:用友js面试题 编辑:程序博客网 时间:2024/04/25 00:01
《C++ Primer 4th》终于全新出炉了。这本大师级的作品堪称是C++语言的学习经典用书。在我初学C++这门语言的时候用的就是这本书的第三版(潘爱民教授所译),真是受益匪浅,为我的C++之路打下了坚实的基础。现在第四版出来了,我还是又买了一本,发现完全重写了,不得不对大师Lippman产生崇敬之情。
最近,我就在拜读此书,还是受益颇丰。有些东东一直在用,但并不知道为什么;有些则完全是错误的,至少是不合理的。在此我想把我的体会写下来,也许对大家有所帮助,也许只是无稽之谈,大家就看着办吧。
1. double 与 float 的取舍
以前我一直以为能用float就尽量用float,因为他精度低计算速度快,但有时float中隐含的精度损失对程序可能是致命的,更不幸的是,这很难被察觉。
Lippman在书中已明确建议在可以使用float的情况下也使用double,因为double的精度代价相比float可能出错而带来的麻烦可以完全忽略,而且在有些机器double与float比计算要快得多。
2. 标准库中 vector 的 size_type 类型
现在才惊讶的发现原来vector的成员函数size( )的返回值并不是int类型的。下图截自SGI STL(支持标准C++的最好版本)。
之所以要定义这个配套类型,原因有二:一是使苦类型的使用能与机器无关(如有时机器的不同,int类型所占的字节数是不定的2B或4B);二是可以保证足够大能存储任意vector对象的长度,避免了溢出和负数的可能,使程序更为健壮。
3. C标准库头文件的C++版本
原来在C标准库的头文件将加个字母c,再去掉.h就是所谓的C++版本的C标准库头文件。在用C++编程时尽量使用C++版本的C标准库头文件,这样能使标准库中的名字在命名空间std中保持一致,减少不必要的命名冲突而带来的麻烦。
- 《C++ Primer 4th》学习笔记(持续更新)
- C++ Primer 学习笔记(持续更新......)
- 《C++ Primer中文版》学习笔记(持续更新中...)
- C语言学习笔记(持续更新)
- C语言学习笔记(持续更新)
- c++ Primer(4th)学习笔记
- Effective Objective-C学习笔记 (持续更新)
- C+++Primer+4th+中英文
- 学习c++,教材选cpp primer 4th。
- const笔记(学习c++ primer 5th)
- C++Primer学习笔记(4)
- C++Primer(5th)学习-数组篇
- <C++ Primer 5th 学习笔记>1
- C++primer学习笔记《4》
- 学习笔记(C++primer)
- C++primer 学习盲点(更新中)
- c++ primer学习笔记(更新中)
- 指针学习笔记(持续更新)
- ZOJ-1004-Anagrams by Stack
- 2006-5-10 酒精和香烟的刺激
- 解码 XML 和 DTD
- XML Schema 与 XML DTD的技术比较与分析
- 基于WinSocket的单线程Server的实现
- 《C++ Primer 4th》学习笔记(持续更新)
- 人生的意义:比较中美孩子的不同
- vc中release和debug的区别
- 走向名企(IT篇)(序言)
- Windows Mobile 5.0 SDK 下载地址
- 走向名企(IT片) 前言
- ASP通用翻页模块代码(改进版)
- 关于实验机TEC-2中SVZC的讨论
- elsave清除日志的使用