iterator- все статьи тега
Почему void* не является типом итератора?
Я протестировал следующий код с GCC 4.8, который не компилируется, потому что мы не можем сформировать ссылку на void. #include <iterator> int main() { std::iterator_traits<void*> test; } Означает ли это, что void* не является итератором ? (имеется в виду понятие здесь) Редактировать: Хорошо, вопрос был плохо сформулирован. На самом деле я спрашиваю, зачем C++ нужно такое поведение для void* ? Это из соображений безопасности, то есть чтобы люди не писали плохие вещи ? ...
Перебор контейнера уникальных ptr-файлов
Как получить доступ к элементам unique_ptr контейнера (через итератор), не забирая права собственности у контейнера? Когда вы получаете итератор к элементу в контейнере, является ли владение элементом все еще с контейнером? Как насчет разыменования итератора для получения доступа к unique_ptr? Выполняет ли это неявное перемещение unique_ptr? Я обнаружил, что часто использую shared_ptr, когда мне нужно хранить элементы в контейнере (не по значению), даже если container концептуально владеет элем ...
В чем преимущество std::back inserter над std::inserter?
Насколько я могу судить, везде, где std::back_inserter работает в алгоритме STL, вы можете передать std::inserter, построенный с .end() вместо: std::copy(l.begin(), l.end(), std::back_inserter(dest_list)); std::copy(l.begin(), l.end(), std::inserter(dest_list, dest_list.end())); И, в отличие от back_inserter, насколько я могу судить, inserter работает для любого контейнера STL!! Я попробовал его успешно для std::vector, std::list, std::map, std::unordered_map прежде чем прийти сюда удивленны ...
Mockito: как ожидать, что итератор будет равен?
У меня есть метод, который принимает строку и итератор: public int doSomething(String str, Iterator<String> itr) Я пытаюсь издеваться над классом, где находится этот метод, чтобы он возвращал мне целое число, в зависимости от переданных аргументов. Как я могу вызвать Mockito when(), чтобы он ожидал, что переданный итератор будет "равен" тому, который я указываю? Поскольку переданный итератор строится где-то динамически в системе, я не могу использовать тот же экземпляр его в when(), по ...
[WSO2 ESB][4.9.0] NPE на итерации при отправке назад
Новичок на WSO2 ESB, мы начинаем использовать его в качестве нашей центральной точки, как ESB, но мы сталкиваемся с реальной проблемой, делая простой случай :/ Вот api, который я написал (на основе этого простого), чтобы показать вам мою проблему, даже если наша usecase отличается. пользователи <?xml version="1.0" encoding="UTF-8" ?> <api context="/services/users" name="ListUsersAPI" xmlns="http://ws.apache.org/ns/synapse"> <resource methods="GET" protocol="http" ur ...
Как перебирать два списка параллельно?
у меня есть две итерации в Python, и я хочу пройти через них в парах: foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b Это должно привести к: f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 один способ сделать это-перебирать индексы: for i in xrange(len(foo)): print "f: ", foo[i], "; b: ", b[i] но мне это кажется несколько неэфирным. Есть ли лучший способ сделать это? ...
Вызов remove в цикле foreach в Java [дубликат]
этот вопрос уже есть ответ здесь: итерация по коллекции, избегая ConcurrentModificationException при удалении в цикле 24 ответов в Java законно ли вызывать remove для коллекции при итерации по коллекции с использованием цикла foreach? Для пример: List<String> names = .... for (String name : names) { // Do something names.remove(name). } как дополнение, законно ли удалять элементы, которые ...
Итератор правила о признании недействительными
каковы правила недействительности итератора для контейнеров C++? желательно в формате сводного списка. (Примечание:это должно быть запись в C++ FAQ Stack Overflow. Если вы хотите критиковать идею предоставления FAQ в этой форме, то публикация на meta, которая начала все это было бы место, чтобы сделать это. Ответы на этот вопрос отслеживаются в в C++ чат, где идея FAQ началась в во-первых, поэтому ваш ответ, скорее всего, будет прочитан теми, кто придумал эту идею.) ...
Что такое итератор, итерация и итерация?
каковы наиболее основные определения "iterable", "iterator" и " iteration в Python? Я прочитал несколько определений, но их точное значение все равно не будет погружаться. может кто-то пожалуйста, помогите мне с основной идеей? ...
Как избежать "ConcurrentModificationException" при удалении элементов из коллекции во время итерации это? [дубликат]
этот вопрос уже есть ответ здесь: итерация по коллекции, избегая ConcurrentModificationException при удалении в цикле 24 ответов Я пытаюсь удалить некоторые элементы из ArrayList при повторении его так: for (String str : myArrayList) { if (someCondition) { myArrayList.remove(str); } } конечно, я получаю ConcurrentModificationException при попытке удаление элементов из списка одновремен ...
Как реализовать итератор в стиле STL и избежать распространенных ошибок?
Я сделал коллекцию, для которой я хочу предоставить итератор с произвольным доступом в стиле STL. Я искал вокруг пример реализации итератора, но я не нашел ни одного. Я знаю о необходимости постоянных перегрузок [] и * операторы. Каковы требования к итератору, чтобы быть "STL-стиль" и каковы некоторые другие подводные камни, чтобы избежать (если таковые имеются)? дополнительный контекст: это для библиотеки, и я не хочу вводить какую-либо зависимость от нее, если я действительно нужно. Я пишу св ...
Зачем использовать итераторы вместо индексов массива?
принять следующие две строки кода: for (int i = 0; i < some_vector.size(); i++) { //do stuff } и так: for (some_iterator = some_vector.begin(); some_iterator != some_vector.end(); some_iterator++) { //do stuff } мне сказали, что второй способ предпочтительнее. Почему именно это происходит? ...
Зачем использовать функции begin и end, не являющиеся членами, в C++11?
каждый стандартный контейнер имеет begin и end метод возврата итераторов для этого контейнера. Однако C++11, по-видимому, ввел свободные функции под названием std::begin и std::end, которую называют begin и end функции-члены. Итак, вместо того, чтобы писать auto i = v.begin(); auto e = v.end(); ты бы написал using std::begin; using std::end; auto i = begin(v); auto e = end(v); в своем выступлении, Написание Современного C++, Херб Саттер говорит, что вы всегда должны использовать бесплатный ...
В чем разница между iterator и iterable и как их использовать?
Я новичок в Java, и я действительно путаю с iterator и iterable. Может кто-нибудь объяснить мне и привести несколько примеров? ...
Разница между Iterator и Listiterator?
Iterator ite = Set.iterator(); Iterator ite = List.iterator(); ListIterator listite = List.listIterator(); можно использовать Iterator обход Set или List или Map. Но ListIterator может использоваться только для обхода a List, он не может пересечь Set. Зачем? Я знаю, что главное отличие заключается в том, что с итератором мы можем двигаться только в одном направлении, но с ListIterator мы можем путешествовать в обоих направлениях. Есть ли другие отличия? И никаких преимуществ ListIterator ove ...
Разница между перечислением Java и итератором
какова точная разница между этими двумя интерфейсами? Делает Enumeration иметь преимущества по сравнению с использованием Iterator? Если кто-то может уточнить, будет оценена справочная статья. ...
В чем разница между итератором const и неконстантным итератором в C++ STL?
в чем разница между const_iterator и iterator и где бы вы использовать один над другим? ...
Можно ли сбросить итераторы в Python?
можно ли сбросить итератор / генератор в Python? Я использую диктофон и хотел бы сбросить его (из модуля csv) в начало файла. ...
Итерация по строкам строки
у меня есть многострочная строка определена как: foo = """ this is a multi-line string. """ эта строка, которую мы использовали в качестве тестового ввода для парсера, который я пишу. Парсер-функция получает file-объект в качестве входных данных и перебирает его. Он также вызывает next() метод непосредственно для пропуска строк, поэтому мне действительно нужен итератор в качестве входных данных, а не итерационный. Мне нужен итератор, который повторяет отдельные строки этой строки, как file - ...
Цикл итератора против цикла индекса [дубликат]
Возможные Дубликаты:зачем использовать итераторы вместо индексов массива? я пересматриваю свои знания на C++, и я наткнулся на итераторы. Одна вещь, я хочу знать, что делает их такими особенными, и я хочу знать, почему это: using namespace std; vector<int> myIntVector; vector<int>::iterator myIntVectorIterator; // Add some elements to myIntVector myIntVector.push_back(1); myIntVector.push_back(4); myIntVector.push_back(8); for(myIntVectorIterator = myIntVector.begin(); ...