Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [risolto][c]-Allocazione Memoria Struttura
Forum - C/C++ - [risolto][c]-Allocazione Memoria Struttura - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:08
Sabato, 13/02/2016
No il c++ non ha gc e nelle stesse condizioni si comporta allo stesso modo del c



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:21
Sabato, 13/02/2016
Testo quotato

Postato originariamente da nessuno:

No il c++ non ha gc e nelle stesse condizioni si comporta allo stesso modo del c



mi ricordavo ci fosse una differenza, forse solo il fatto che con new non serve il sizeof()..

PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 700
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 9:30
Domenica, 14/02/2016
Come regola generale trovo molto comodo allocare in un senso e deallocare in senso opposto. Di solito mi protegge dagli errori come quello descritto da Mikelius. Dunque, nel caso specifico, se allocassi nell'ordine prima la struttura, poi il primo spazio di memoria puntato dal puntatore "interno" *uno, quindi il secondo e il terzo, deallocherei nell'ordine prima il terzo spazio di memoria, poi il secondo, quindi il primo e, alla fine, la struttura che ne contiene i puntatori. So che in questo caso l'ordine primo-secondo-terzo è irrilevante, ma essere ordinato mi aiuta a non perdere traccia di quel che sto facendo, per cui cerco di attenermi anche quando non è indispensabile.

P.S. Questo commento è inutile, ma di quando in quando mi dà una certa soddisfazione patologica intervenire per far sapere che "incombo nel buio"! :rotfl:

Ultima modifica effettuata da AldoBaldo il 14/02/2016 alle 9:32


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote
Avatar
Template (Member)
Pro


Messaggi: 177
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 10:14
Domenica, 14/02/2016
Testo quotato

Postato originariamente da AldoBaldo:

Come regola generale trovo molto comodo allocare in un senso e deallocare in senso opposto. Di solito mi protegge dagli errori come quello descritto da Mikelius. Dunque, nel caso specifico, se allocassi nell'ordine prima la struttura, poi il primo spazio di memoria puntato dal puntatore "interno" *uno, quindi il secondo e il terzo, deallocherei nell'ordine prima il terzo spazio di memoria, poi il secondo, quindi il primo e, alla fine, la struttura che ne contiene i puntatori. So che in questo caso l'ordine primo-secondo-terzo è irrilevante, ma essere ordinato mi aiuta a non perdere traccia di quel che sto facendo, per cui cerco di attenermi anche quando non è indispensabile.

P.S. Questo commento è inutile, ma di quando in quando mi dà una certa soddisfazione patologica intervenire per far sapere che "incombo nel buio"! :rotfl:



Non è assolutamente un commento inutile: il metodo che proponi (e che, tra parentesi, in molti casi uso anch'io) è ottimo al fine di non dimenticare mai di deallocare tutto quanto allocato :k:

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 10:28
Domenica, 14/02/2016
Vari garbage collector sono stati scritti per il C e per il C++, il più famoso è liberamente scaricabile e modificabile: http://www.hboehm.info/gc/ ma ce ne sono altri di varie forme, dimensioni e prezzi.

Non lo dico perchè tu possa usarlo come scusa per non sapere come si gestisce la memoria nell'heap, perché è una delle cose più importanti (a mio avviso) di quando lavori con il C, ma per farti conoscere un comodo strumento.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:57
Domenica, 14/02/2016
Testo quotato

Postato originariamente da AldoBaldo:
grazie del tuo consiglio, lo eserò senz'altro.



Testo quotato

Postato originariamente da TheDarkJuster:

Vari garbage collector sono stati scritti per il C e per il C++, il più famoso è liberamente scaricabile e modificabile: http://www.hboehm.info/gc/ ma ce ne sono altri di varie forme, dimensioni e prezzi.

Non lo dico perchè tu possa usarlo come scusa per non sapere come si gestisce la memoria nell'heap, perché è una delle cose più importanti (a mio avviso) di quando lavori con il C, ma per farti conoscere un comodo strumento.



Grazie per il link, gli darò un occhiata per sapere personale, ma , come dici tu, se voglio imparare a programmare in c devo evitare la pappa pronta.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 11:37
Domenica, 14/02/2016
Non è "pappa pronta" è "un valido strumento/aiuto per lo sviluppo".

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 12:12
Domenica, 14/02/2016
pappa pronta nel senso che non mi va di usare "soluzioni" che dovrei imparare a saper utilizzare io.
Se il GC mi nega la possibilità di capire bene come va gestita la memoria, per ora potrebbe essere dannoso per imparare a programmare.

Poi più in là, che ben vengano questi "aiuti"

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo