Newsgroup: it.comp.os.linux.development
Titolo: Oggetto lista per dinamica

Salve, sto sviluppando una libreria in C++ con kdevelop. Ho creato un
progetto standard per console, ed ora avrei bisogno del calssico "oggetto
lista" per mantenere una lista dinamica di oggetti più semplici. Certo che
ne esistano a bizzeffe (già c'era un TCollection quando programmavo il
Turbo Pascal!) ho cercato un po'. Ho visto che le QT forniscono un oggetto
template QPtrList che fa proprio questo, ma la mia non è un'applicazione
che usa le QT. Secondo voi ha senso includere il file <qptrlist.h> nella
mia applicazione, o avete un altro suggerimento? Inoltre, se provo ad
includerlo (dopo aver aggiunto la cartella /usr/lib/qt/include al percorso
standard di inclusione), giustamente il linker non trova l'implementazione
della classe QPtrList (e quelle correlate) che devono trovarsi in qualche
file-libreria che dovrei linkare al progetto. 
Qualcuno può aiutarmi?
ps. Devo realizzare una libreria di programmazione robotica, e non ho
intenzione di scrivere classi che mi servono ma non sono attinenti (tipo
librerie sulle matrici, e classi di utilità generica), perché se già
esistono è inutile riscriverle perdendo tempo prezioso e rischiando di fare
un lavoro peggiore. 
-- 
Simone
Linux Registered User #353303
www.sromano.com
 

 
Non sono un esperto di KDevelop, ma se come penso rispetta lo standard del
C++, allora una serie di librerie standard tra cui le liste. Guarda questo
sito:
http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/34Standard.html
l'header da includere è <list>. Comunque cerca so google Standard Library
C++.
Ciao e fammi sapere se hai risolto.

 Ciao e fammi sapere se hai risolto.
Per ora ho risolto includendo l'oggetto QPtrList appartenente alla libreria
QT, linkando il mio codice al codice oggetto della libreria stessa
($QTDIR/lib/qt-mt). Non mi sembra però una soluzione pulita (un utente
della mia libreria dovrebbe installare le QT anche se alla fine non gli
servono!). Ora mi studio un attimo la tua soluzione e ti faccio sapere...


 
Ho trovato questo 
http://www.msoe.edu/eecs/cese/resources/stl/list.htm
Ti ringrazio molto, Mi sei stato di grande aiuto, credo che questa sia la
soluzione per me :-)


 Salve, sto sviluppando una libreria in C++ con kdevelop. 
Usare la STL? Sai, è fatta apposta... Perchè chi studa C++ la snobba?
-- 
Andrea Bergia - studente              Linux Registered User #281550


Ti sembra credibile che uno studia il C++ tanto da avere finito di fare
esercizi e passare a creare applicazioni per altri utenti e poi non sa che
la STL E' PARTE dello Standard C++?
Questo signore conosce le QList e non ha mai sentito nominare i container
della Libreria Standard del C++... Mah!
fabiomdf
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Usare la STL? Sai, è fatta apposta... Perchè chi studa C++ la snobba?
perché studia il c++ su vecchi testi trovati su internet, e nell'80% dei 
casi non sa neanche che esiste uno standard recente che lo rende 
decisamente migliore. (impressione mia da non-programmatore c++)

 decisamente migliore. (impressione mia da non-programmatore c++)
"Recente" è una parola un po' grossa... lo standard è del 1998!!!!!


ho dovuto scontrarmi con 
Ops... ma si puņ dire ?! 


 rappresentava un array dinamico di puntatori ad oggetti qualunque! 
questo perché di solito nell'esame di fondamenti si insegnano le
strutture dati e non puoi dire allo studente che risolva l'esercizio con
un #include <list> :-).

 e non conosci la stl? :-)
Purtroppo no, la programmazione in C++ si è conclusa a Fondamenti II e
trattava, oltre alla parte teorica sui database, l'architettura dei
calcolatori e varie altre cose, nello studio di tutta la  programmazione ad
oggetti e l'allocazione dinamica della memoria. Dopo devi fare tanti di
quegli esami che non puoi approfondire altre cose, anche se ti piacciono.
Devi imparare al volo ad usare Matlab, devi imparare al volo l'assembler
del Motorola 68000, il Fortran 77, tutti linguaggi che devi imparare in
pochi giorni perché te li fanno usare per applicare i concetti di Teoria
dei sistemi, metodi numerici, Controlli automatici, Calcolatori, ecc... ma
non rappresentano mai l' argomento centrale, ma solo uno strumento.


 ma solo uno strumento.
Che in genere nessuno si cura di spiegarti. 
Ah! Dimenticavo il Pascal, il Prolog, il VHDL, ... ;-)


 ma solo uno strumento.
Che in genere nessuno si cura di spiegarti. 
Ah! Dimenticavo il Pascal, il Prolog, il VHDL, ... ;-)
-- 


 oggetti e l'allocazione dinamica della memoria. 
e allora mi sa che visto che ti devi ingegnare e studiare la stl da solo.
Se vuoi un consiglio, per maggiorni spegazioni sulla stl e gli iteratori e
comapgnia bella chiedi su it.comp.lang.c++ visto che lì si parla di ansi
c++

 c++
Ti ringrazio, tra l'altro "ingegnandomi" a cercare ho trovato la MTL (Matrix
Template Library) che fa ancora piů al caso mio :-))


 "Recente" è una parola un po' grossa... lo standard è del 1998!!!!!
Oh beh, ci sono programmatori che ti guardano storto se usi features del
C90 ;)
Luca
-- 
Home: 
http://kronoz.cjb.net
"It is more complicated than you think"
                -- The Eighth Networking Truth from RFC 1925

 Template Library) che fa ancora più al caso mio :-))
o altrimenti puoi valutare la libreria di octave che è in c++ e fa
calcolo matriciale.

 e non conosci la stl? :-)
Non penso sia colpa sua. A Brescia ad esempio non ho mai sentito parlare di
STL. Se fosse per l'università non saprei nulla di c++, e ben poco di
informatica in generale.
Però so fare integrali in 100 modi diversi, e ultimamente ho pure scoperto
le funzioni palidrome e la convoluzione di distribuzioni.
La mia esperienza personale mi porta a consigliare chiunque voglia aver a
che fare con l'informatica a stare MOLTO lontano dall'università di Brescia.
-- 
  Giuseppe "Cowo" Corbelli \/\ My software: 
http://cowo.yoda2000.net
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Drink To Your Brothers Who Are Never To Fall, We Are Brothers Of Metal
  		Here In The Hall! !>- Manowar - Brothers Of Metal PT1