嗨,我在向量上使用了一些stl算法,例如find_if,count_if,sort,push_back等。现在,我想为所有容器对象(向量,列表,地图,集合)创建通用代码。我需要为它们修改我的stl函数还是全部相同?
对于初学者push_back
来说不是算法。这是某些顺序容器(例如std::vector
或)的方法std::list
。但是std::forward_list
没有这种方法。
标准算法std::sort
要求底层容器具有随机访问迭代器。一些顺序容器喜欢std::list
和std::forward_list
有自己的方法排序。标准算法std::sort
不能应用于这些容器。
另一方面,诸如std;:set
或std::map
已经是订购容器的关联容器。
至于标准算法std::find_if
,std::count_if
则它们可以应用于所有标准容器,因为它们基于输入迭代器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句