使用STL

来源:互联网 发布:网站域名多少钱一个 编辑:程序博客网 时间:2024/04/28 09:40

可以在任何容器上运作:

而下面这样的程序代码就不是所有容器都适用了:

两者的唯一区别在于测试循环条件时,第二例使用operator<,第一例使用operator!=。要知道,只有random access iterators才支持iperator<,所以第二例中的循环对于lists、sets和maps无法运作。为了写出适用于任何容器的泛型程序代码,你应该使用operator!=而非operator<。不过如此一来,程序代码的安全性可能有损,因为如果pos的位置在end()的后面,你未必便能发现。