(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++大型项目的源码;

你可能感兴趣的:((Boolan)OOP和GP)