Esistono lingue che si espandono sui tipi di iteratore di STL? [chiuso]

6

Molte lingue usano il concetto di un iteratore. Il c ++ STL si espande su questo con iteratori di input, iteratori di output, inoltro, bidirezionale, accesso casuale e altri. Per quanto ne so, queste distinzioni non esistono in altre lingue. In questo talk l'autore del STL, Alexander Stepanov, parla degli iteratori (tra le altre cose) e menziona l'idea e gli iteratori bidimensionali. Non ho visto questi ovunque.

Domanda 1: ci sono altri linguaggi / librerie che si espandono su iteratori e / o usano iteratori bidimensionali?

Domanda 2: Qualcuno potrebbe indicarmi delle buone risorse sulla teoria degli iteratori (se è così che si chiama)?

    
posta Matthew Finlay 17.05.2013 - 01:15
fonte

3 risposte

3

Ri domanda 2: vedi capitolo 6 (Iterators) di Elementi di programmazione di Alexander Stepanov (il autore di STL) e Paul McJones (me) per la teoria degli iteratori. Ri domanda 1: vedi i capitoli 7 (Coordinate Structures) e 8 (Coordinates with Mutable Successors) dello stesso libro per alcune generalizzazioni di iteratori a strutture di dati con forme più complesse di forme lineari immutabili.

    
risposta data 15.06.2013 - 04:08
fonte
1

Bene, ListIterator di Java è bidirezionale. In generale, non sono sicuro di quanto supporto linguistico sia necessario per gli iteratori. Qualche zucchero sintattico a volte aiuta (vedi il ciclo di Scala per il ciclo più avanzato che conosco a mano libera).

Per quanto riguarda la teoria degli iteratori, sono abbastanza sicuro che l'iteratore sia esso stesso una struttura dati, o che sia supportato da uno. Quindi scommetto che non esiste una "teoria degli iteratori", lo studio delle strutture dati lo copre.

La struttura dei dati che posso pensare che generalizza maggiormente l'iterazione è link

    
risposta data 17.05.2013 - 21:23
fonte
1

Potresti essere interessato alle gamme di D's. Si suppone che siano basati su iteratori STL solo ripuliti e più facili da usare. Ecco un buon articolo su di essi. Suggerisce anche intervalli di ordini più alti anche se Non so se quelli effettivamente vengono usati in D.

    
risposta data 17.05.2013 - 23:15
fonte

Leggi altre domande sui tag