1.源代码之分布 VC、GCC
c++基本语法
-模板templates基础
-数据结构data structures和算法algorithms概念
标准库版本
-visual c++
-gnu c++
2.OOP (面向对象编程) vs. GP (泛型编程)
OPP企图将data和method关联在一起
-list类则不能使用全局sort排序,标准库sort所用迭代器list类满足不了
-带有sort的类必须要用自带sort,否则才要用到全局的sort
GP是将data和method分开来
-vector则可以使用全局sort来排序
-containers和algorithm可以各自来写,其间以iterator沟通即可
-algorithm通过iterator确定操作范围,并通过iterator取用container元素
-所有algorithms,最终涉及的基本操作是比较大小
-字符串比较大小默认为字典序比较
3.技术基础:操作符重载and模板(泛化, 全特化, 偏特化)
阅读c++标准库源码source code必要基础
-operator overloading 操作符重载
--不能够重载的操作符
---'::'
---'.'
---'.'
---'?:'
--不能创建的操作符
---'*'
---'<>'
---'&|'
--重载后丢失优先级的操作符
---‘&&’
---'||'
---','
--单目和双目操作符的重载方式不同
-templates 模板
--class templates 类模版
---保留类中数据类型,到使用类构造的时候再去设定
--function templates 函数模板
--member templates 成员模版
4.分配器
-operator new()
-malloc ()
不同编译器下allocators实际工作并不一定相同