迭代器与器皿有关末
迭代器与容器有关末?
定义的迭代器变量与容器变量是否有关?还是只是与元素类型有关?
比如说,在swap函数实现的功能,实际元素并没有发生变化,所以其迭代器并未失效。
???求解
------解决方案--------------------
容器变量代表的是一个容器类对象
比如Vector<int> v,这个V有对应Iterator
LZ说的迭代器没有失效是说仍然可以通过迭代器读取容器元素吗?
这个当然是可以的,但是读取到的元素可能变化了~
LZ可以问得更详细些,解释就会更详细了
------解决方案--------------------
------解决方案--------------------
迭代器是联系容器和算法的关键
迭代器使得数据结构和算法实现了分离
提高了代码的可重用性
对于元素的类型进行了抽象化 就是泛型编程
1) 迭代器提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或vector中的一定范围的对象。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器也可以是那些定义了operator*()以及其他类似于指针的操作符地方法的类对象。
2) 容器是一种数据结构,如list,vector,和deques,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器。
3) 算法是用来操作容器中的数据的模板函数。例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象。函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用。
定义的迭代器变量与容器变量是否有关?还是只是与元素类型有关?
比如说,在swap函数实现的功能,实际元素并没有发生变化,所以其迭代器并未失效。
???求解
------解决方案--------------------
容器变量代表的是一个容器类对象
比如Vector<int> v,这个V有对应Iterator
LZ说的迭代器没有失效是说仍然可以通过迭代器读取容器元素吗?
这个当然是可以的,但是读取到的元素可能变化了~
LZ可以问得更详细些,解释就会更详细了
------解决方案--------------------
------解决方案--------------------
迭代器是联系容器和算法的关键
迭代器使得数据结构和算法实现了分离
提高了代码的可重用性
对于元素的类型进行了抽象化 就是泛型编程
1) 迭代器提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或vector中的一定范围的对象。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器也可以是那些定义了operator*()以及其他类似于指针的操作符地方法的类对象。
2) 容器是一种数据结构,如list,vector,和deques,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器。
3) 算法是用来操作容器中的数据的模板函数。例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象。函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用。