容器的出现是为创建和管理大量,数目未知的对象。这点区别于数组,数组是为了创建和管理大量,已知数目的数据。所以容器使用起来可以更加灵活。
之所以有这样的好处,是因为容器的实现,用了链表等更灵活的存储结构。
而在面向对象的语言里面,它们都是以类的形式出现的。也就是说,你创建了一个容器类的对象,那就可以使用这个容器类内部所带有的方法来操纵数据。
每一个容器类都实现了迭代器的接口,因为他们有取其中数据的这样的需求。所以迭代器是一种解决通用问题的一种方式,所以可以把迭代器归结为是一种设计模式。
参考阅读:
http://www.cnblogs.com/weichsel/archive/2010/09/14/1826300.html
http://www.cppblog.com/liujiajia/archive/2010/02/18/52399.html
http://www.fredosaurus.com/notes-cpp/stl-containers/vector/iter-vector.html
http://blog.csdn.net/minpro/archive/2008/03/21/2203521.aspx