list<int> a;
list <int> ::iterator it;
it = a.begin();
it=a.insert(it,10);
it=a.insert(it,210);
it=a.insert(it,310);
it=a.insert(it,410);
it=a.insert(it,510);
it = find(a.begin(),a.end(),180);
cout << *it << endl;
В этой программе значение 180 отсутствует в этом списке. Таким образом, согласно алгоритму поиска STL, он должен вернуть последнее значение, но когда я распечатаю это значение, он придет к чему-то мусору. Похоже, что итератор указывает на другое место. Пожалуйста, помогите мне определить мою ошибку.Ожидаемый возврат алгоритма поиска STL
'end()' не последний элемент в контейнере, это волшебный маркер, представляющий один за другим. –