Вопросы по теме 'iterator'

Итераторы в C++ (stl) и Java, есть ли концептуальная разница?
Я возвращаюсь к С++ после некоторого отсутствия и пытаюсь стряхнуть пыль со старой дыни. В Java Iterator — это интерфейс к контейнеру, имеющему методы: hasNext() , next() и remove() . Наличие hasNext() означает, что он имеет понятие предела...
12969 просмотров
schedule 03.12.2022

Каковы преимущества интерфейса Iterator в Java?
Я только что узнал о том, как Java Collections Framework реализует структуры данных в связанных списках. Насколько я понимаю, Iterators - это способ обхода элементов в структуре данных, такой как список. Почему используется этот интерфейс? Почему...
24375 просмотров
schedule 15.09.2023

Возврат «любого типа итератора ввода» вместо vector :: iterator или list :: iterator
Предположим, я хочу реализовать на C ++ структуру данных для хранения ориентированных графов. Дуги будут храниться в узлах благодаря контейнерам STL. Я бы хотел, чтобы пользователи могли выполнять итерацию по дугам узла способом, подобным STL. У...
3411 просмотров
schedule 22.03.2022

Есть ли однострочный способ получить список ключей из словаря в отсортированном порядке?
Метод списка sort() — это функция-модификатор, которая возвращает None . Поэтому, если я хочу перебрать все ключи в словаре, я не могу сделать: for k in somedictionary.keys().sort(): dosomething() Вместо этого я должен: keys =...
6638 просмотров
schedule 04.11.2022

Итератор составных шаблонов без рекурсии
Кто-нибудь писал или думал о написании итератора для составной (древовидной) структуры без использования рекурсии? Если да, то можете ли вы поделиться своими идеями? Спасибо Изменить: я думал о Java для lang.
2071 просмотров

C ++ STL: какой метод итерации по контейнеру STL лучше?
Некоторым из вас это может показаться несерьезным, но какой из следующих двух методов итерации по контейнеру STL лучше? Почему ? class Elem; typedef vector<Elem> ElemVec; ElemVec elemVec; // Method 0 for (ElemVec::iterator i =...
3471 просмотров
schedule 13.02.2022

Java Joda Time — реализовать итератор диапазона дат
Я безуспешно пытаюсь внедрить итератор даты со временем Joda. Мне нужно что-то, что позволит мне перебирать все дни от startDate до endDate У вас есть идеи, как это сделать?
11914 просмотров
schedule 01.07.2023

Как изменить ключи и значения массива при использовании RecursiveArrayIterator?
Я подозреваю, что делаю здесь какую-то глупость, но меня смущает то, что кажется простой проблемой с SPL: Как изменить содержимое массива (значения в этом примере), используя RecursiveArrayIterator / RecursiveIteratorIterator ? Используя...
5657 просмотров
schedule 18.05.2024

Объявление переменных экземпляра, повторяющих хэш!
я хочу сделать следующее: Я хочу объявить переменные экземпляра класса, перебирающего словарь. Предположим, что у меня есть этот хэш hash = {"key1" => "value1","key2" => "value2","key3" => "value3"} и я хочу, чтобы каждый ключ...
8483 просмотров
schedule 08.03.2023

Почему мой пользовательский итератор не работает с копией STL?
Я написал OutputIterator для ответа на другой вопрос . Вот: #include <queue> using namespace std; template< typename T, typename U > class queue_inserter { queue<T, U> &qu; public:...
8996 просмотров
schedule 17.03.2022

Производительность традиционного цикла for против Iterator / foreach в Java
Есть ли какие-либо результаты тестирования производительности при сравнении традиционного цикла for и Iterator при просмотре ArrayList, HashMap и других коллекций? Или просто зачем мне использовать Iterator для цикла или наоборот?
58597 просмотров
schedule 10.05.2022

Другой сервис для моего приложения Flex с использованием Zend_Amf
У меня есть служба итератора, которая уже отлично работает и возвращает правильно структурированные значения в мое гибкое приложение через мой сервер Zend Amf . $contacts = array(); mysql_connect( 'localhost', 'root', 'test' );...
213 просмотров

Почему один цикл генерирует исключение ConcurrentModificationException, а другой нет?
Я столкнулся с этим, когда писал программу коммивояжера. Для внутреннего цикла я попробовал for(Point x:ArrayList<Point>) { // modify the iterator } но при добавлении еще одной точки в этот список выбрасывалось...
5461 просмотров
schedule 21.12.2022

Контракт на выполнение итератора (и использование для не-коллекций)
Если все, что вы делаете, - это простая однопроходная итерация (т.е. только hasNext() и next() , без remove() ), гарантирована ли вам линейная производительность и / или амортизированная постоянная стоимость за операцию? Это указано где-нибудь...
414 просмотров
schedule 30.05.2022

Стоит ли создавать некопируемый итератор STL?
В большинстве случаев итераторы STL являются CopyConstructable, потому что некоторые алгоритмы STL требуют этого для повышения производительности, например std::sort . Тем не менее, я работал над домашним проектом, чтобы обернуть API FindXFile ( о...
874 просмотров
schedule 19.05.2024

std::deque: Как мне получить итератор, указывающий на элемент с указанным индексом?
У меня есть std::deque, и я хочу вставить элемент по указанному индексу (я знаю, что для этого лучше использовать std::list). Функция deque::insert() использует итератор для указания места вставки. Учитывая индекс, как я могу получить итератор,...
4302 просмотров
schedule 18.10.2023

Что на самом деле делает включение отладки итератора STL?
Я включил отладку итератора в приложении, определив _HAS_ITERATOR_DEBUGGING = 1 Я ожидал, что это действительно просто проверит границы вектора, но у меня есть ощущение, что это делает гораздо больше. Какие проверки и т. д. фактически...
2355 просмотров
schedule 13.07.2022

Разница между генераторами Python и итераторами
В чем разница между итераторами и генераторами? Было бы полезно использовать несколько примеров того, когда вы будете использовать каждый случай.
177168 просмотров
schedule 06.02.2024

не может увеличивать Glib::ustring::iterator (получение недопустимого значения lvalue при ошибке компилятора увеличения)
в следующем коде: int utf8len(char* s, int len) { Glib::ustring::iterator p( string::iterator(s) ); Glib::ustring::iterator e ( string::iterator(s+len) ); int i=0; for (; p != e; p++) // ERROR HERE! i++; return i; } Я получаю ошибку...
516 просмотров
schedule 29.08.2023

Итераторы C++ и наследование
У вас есть быстрый вопрос о том, как лучше всего реализовать итераторы в следующем: Скажем, у меня есть шаблонный базовый класс «Список» и два подкласса «ListImpl1» и «ListImpl2». Основное требование базового класса - быть итерируемым, т.е. я могу...
5344 просмотров
schedule 15.06.2022