C++STL与泛型编程(4)OOP(面向对象编程) Vs. GP(泛型编程)

文章目录

  • OOP和GP
  • 为什么list不能使用标准库中的::sort算法?
  • 采用GP的好处

OOP和GP

OOP将datas和methods关联在一起
GP将datas和methods分开

为什么list不能使用标准库中的::sort算法?

因为标准库的sort的算法用到了随机访问迭代器(RandomAccessIterator),而list链表所提供的迭代器不能随机访问,所以链表不能使用标准库中的::sort算法,只能使用自己的sort算法

采用GP的好处

  • Containers和Algorithms团队可各自闭门造车,其间以Iterator沟通即可
  • Algorithms通过Iterators确定操作范围,并通过Iterators取用Container元素

所有algorithms,最终涉及元素本身的操作,无非就是比大小
C++STL与泛型编程(4)OOP(面向对象编程) Vs. GP(泛型编程)_第1张图片

你可能感兴趣的:(C++STL与泛型编程__侯捷)