| V I S U A L I Z Z A D I S C U S S I O N E |
| MeSo |
Inserito il - 24/01/2008 : 18:34:57 salve a tutti, non ho potuto seguire nemmeno una lezione col prof. e adesso che sto realizzando le strutture dati per l'esame mi sorge un dubbio, ogni struttura dati può essere realizzata in 4 modi diversi:
1. Senza side-effect con condivisione; 2. Senza side-effect senza condivisione; 3. Con side-effect con condivisione; 4. Con side-effect senza condivisione;
Dalle specifiche che ci sono sulle slide del prof. sicuramente si usa il side-effect, visto che in ogni realizzazione la struttura viene passata per riferimento es.: PROCEDURE INSLISTA (a:tipoelem; var p:posizione; var L:lista); quindi si lavora sempre sull'oggeto della chiamata.
Il mio dubbio è usare o meno la condivisione di memoria, il prof. vi ha dato indicazioni su questa scelta? Voi come le avete realizzate?
grazie e ciao :D |
| 3 U L T I M E R I S P O S T E (in alto le più recenti) |
| airbag |
Inserito il - 31/01/2008 : 11:23:48 Side effecting ci può essere poichè che usiate il C++ come linguaggio imperativo o più o meno orientato ad oggetti siete sempre nel ramo side effected del paradigma operazionale. La condivisione di aree di memoria è opzionale e varia nella letteratura delle realizzazioni(sempre che alla letteratura vogliate attenervi) |
| MeSo |
Inserito il - 31/01/2008 : 10:50:27 ok grazie mille |
| noname |
Inserito il - 25/01/2008 : 17:39:17 Beh, ricorda che l'ultimo parametro degli operatori nelle slide, è un riferimento alla struttura dati. Quando implementi l'operatore, quell'argomento diventa implicito, perchè l'operatore lo invocherai sulla struttura. Per esempio
lista.insLista(...);
Quindi non so quanto si può parlare di side-effect.
Poi ogni struttura ha la sua memoria, vettore o celle allocate dinamicamente.
Solo per quanto riguarda le liste con cursori, devi usare per tutte le liste che crei lo stesso vettore.
|