(Boolan)OOP和GP

OOP: Object-oriented programming 面向对象的编程 ,例如C++中的类和对象

GP:Generic Programming 泛型编程 ,例如C++中的模板

OOP将 datas 和methods联系在一起;GP将 datas 和methods分开;这么做都是对具体的抽象。OOP的关键是类,类实例化出对象;GP的泛型是相对于强类型程序语言而定义的,GP 编程本身不需要指定类型的datas,实例化时需要datas,更像是methods的抽象。

注释:method->算法->比较大小->Operator Overloading

关于operator overloading,课件上讲解了member function和non-member function两种操作符

----------------------------------------------------------------------------------------------

分配器:allocators ,每个容器都有一个默认的分配器。

参考标准库的课件可知,分配器默认是一个类模板,间接通过malloc 和delete管理内存。

-----------------------------------------------------------------------------------------------

GNU2.9 和GNU4.9的STL库在实现方式有很大区别,分配器的分配策略,每个容器的实现方法。容器是一个类模板。

由课件的容器list可知,容器中typedef了iterator,这样,每个容器都有自己的智能指针,这样就定义了特定类型的索引方式(重载操作符)

----------------------------------------------------------------------------------------

想要看C++大型项目的源码;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容