у меня есть этот код: и я хочу от функции запуска по всему списку и распечатать егоКак я могу проверить, подходит ли итератор к концу списка?
, но я не хочу, чтобы отправить список функции
я хочу послать только итератор
но проблема его на «для» я не могу сделать
it_mylist != it_mylist.end()
что я могу сделать, пожалуйста?
#include <iostream>
using namespace std;
#include <list>
void f(list<int>::iterator it_mylist)
{
for (; it_mylist != it_mylist.end(); ++it_mylist)
{
cout << *it_mylist;
}
}
void main()
{
list<int> mylist;
mylist.push_front(1); mylist.push_front(2); mylist.push_front(3);
list<int>::iterator it_mylist = mylist.begin();
f(it_mylist);
}
То, как стандартные библиотеки (такие как STL) предназначены должен иметь функции, которые принимают пару итераторов в качестве аргумента: void f (list :: iterator begin, list :: iterator end) (Я не думаю, что вы можете избежать передачи «end» или списка в качестве аргумента). –
BrunoLevy