2009-11-14 13 views

risposta

31

Come daniel notes, sì, std::list. Usage sarebbe:

#include <list> 
// ... 
std::list<int> listOfInts; 
listOfInts.push_back(1); 
// ... 

E così via.

È possibile trovare un elenco completo di classi STL here. La sezione che stai cercando è 3.2, Classi contenitore. Un altro riferimento utile della libreria standard C++ è here.

+1

grazie ...................... – user69514

+0

Questa è una doppia lista collegata , che consente l'attraversamento bidirezionale, il SGI STL (e alcuni altri) definiscono anche singoli elenchi concatenati, per esempio http://www.sgi.com/tech/stl/Slist.html. –

+0

Ma l'elemento nell'elenco non ha informazioni sul suo predecessore e sul suo successore ... Potrebbe essere necessario ... – Offirmo

7
#include <list> 
4

in C++ abbiamo la STL, Template Librerie standard che contengono molto aa di implemantations di strutture di dati popolari e algoritmi come pile, code, liste collegate e la ricerca popolare e algoritmi di ordinamento anche .....

Come già detto da Daniel è possibile includere da #include < list>

2

Se si è aperti a esaminare Qt, si potrebbe voler provare i propri contenitori (come QList, QMap e QString). QList supporta il pattern C++ iteratore, così come il probabilmente più facile "Java-style iterators" ... che più simile a questo:

QList<QString> list; 
list << "A" << "B" << "C" << "D"; 

QListIterator<QString> i(list); 
while (i.hasNext()) 
    qDebug() << i.next(); 

L'idea che i programmatori C++ devono sempre utilizzare la libreria standard dovrebbe essere preso con un grano di sale. Per elenchi, mappe, stringhe e quasi tutto il resto ... scoprirai che i progetti di alto profilo spesso usano qualcos'altro. Il codice sorgente di Mozilla ha 9 delle sue diverse classi concrete per le stringhe, perché std :: string non soddisfaceva le loro esigenze di internazionalizzazione/etc.

Mentre non si dovrebbe sempre usare la libreria standard C++ in ogni tipo di progetto, si deve assolutamente conoscere COME per utilizzarlo. Contiene classi estremamente generali, ben collaudate, ben documentate e disponibili su ogni installazione. Ciò lo rende una buona base per comunicare con altri programmatori C++ sugli algoritmi/ecc.

+0

Raccomandare di non utilizzare le funzionalità del linguaggio ... hm. – GManNickG

+0

No, raccomando di sviluppare una consapevolezza delle alternative (specialmente quando quelle alternative sono utilizzate nella pratica da molti programmatori C++ professionali). – HostileFork

Problemi correlati