STL是对性能有苛求的库实现。通常容器在与外部算法合作能够有最佳的性能表现,而且具备使用该算法的条件(通常是合适的参数如迭代器,则该容器就不提供具体的成员函数来实现这种算法。例如vector与Algorithms中的sort算法合作,就可以提供最佳性能的排序操作,因此而不提供sort成员函数。这样作对泛型设计有较大的好处。
而list则相反,因为list不支持随机存取迭代器,故不能使用Algorithms中的外部sort算法,因此,list的实现提供自已的sort成员函数以实现排序操作。
STL是对性能有苛求的库实现。通常容器在与外部算法合作能够有最佳的性能表现,而且具备使用该算法的条件(通常是合适的参数如迭代器,则该容器就不提供具体的成员函数来实现这种算法。例如vector与Algorithms中的sort算法合作,就可以提供最佳性能的排序操作,因此而不提供sort成员函数。这样作对泛型设计有较大的好处。
而list则相反,因为list不支持随机存取迭代器,故不能使用Algorithms中的外部sort算法,因此,list的实现提供自已的sort成员函数以实现排序操作。