Originariamente inviato da Neptune
Sembra interessante l'idea di dare alla struttura un costruttore di default.
Ma nella tua sintassi questa inizializzazione viene fatta automaticamente? Ovvero la funzione componenteSpazio() della struttura viene lanciata in automatico o devo essere io, da qualche parte nel mio codice (nel caso dove?) a lanciarla?
È un costruttore di default, viene invocato automaticamente ogni volta che si crea un'istanza della struttura.
Perchè la typedef in c++ non serve? posso dare direttamente il nome della struttura senza dover ripetere ogni volta "struct" ?
Sì. Le struct in C++ sono in tutto e per tutto identiche alle class, tranne che per il fatto che nelle class di default i membri e l'ereditarietà sono private, mentre per le struct sono public.
Inoltre il dato di tipo strutturato se lo creo all'interno della classe, o all'esterno, cambia qualcosa in termini di pulizia del codice? o posso metterlo dove mi è più simpatico?
Se il tipo è roba usata solo internamente alla classe (o comunque è qualcosa di strettamente correlato) in linea di massima va tenuto al suo interno. Nel tuo caso, terrei componenteSpazio all'interno di Lista, e se non deve essere esposto come all'esterno lo terrei nella sezione private.