53:不要轻忽编译器的警告
尽量无警告。
54:让自己熟悉包括TR1在内的标准程序库
c++98列入的C++标准程序库主要成分
- STL:覆盖容器,迭代器,算法(find,sort,transform),函数对象,各种容器适配器(stack,priority_queue)和函数对象适配器(mem_func,not1)
- Iostreams:覆盖用户自定义缓冲功能,国际化IO,以及预先定义好的对象cin,cout,cerr和clog
- 国际化支持:wchar_t,wstring
- 数值处理:包括复数模板和纯数值数组
- 异常阶层体系
- C89标准程序库
TR1有14个新组件
- 智能指针:tr1::shared_ptr和tr1::weak_ptr。
- tr1::function:没怎么懂
- tr1::bind:
- Hash tables,用来实现sets,multisets,maps和multi-maps。
- 正则表达式:
- Tuples(变量组):
- tr1::array
- tr1::mem_fn
- tr1::reference_wrapper
- 随机数
- 数学特殊函数
- C99兼容扩充
- Type traits
- tr1::result_of
55:让自己熟悉Boost
一群大佬写的库
包含
- 字符串与文本处理:包括了正则表达式,语汇单元切割和解析
- 容器:包括数组,大小可变的bitsets以及多维数组
- 函数对象和高级编程:没太懂
- 泛型编程:没太懂
- 模板元编程:没太懂
- 数学和数值:
- 正确性与测试
- 数据结构
- 语言间的支持:包括允许C++和python之间的无缝互操作性
- 内存:覆盖Pool程序库,用来作出高效率而区块大小固定的分配器,以及多变化的智能指针,包括TR1智能指针。另有一个Non-TR1智能指针是scoped_array,那是个auto_ptr-like智能指针,用来动态分配数组
- 杂项;CRC检验,日期和时间的处理,在文件系统上来回移动等等。
等等