HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Allora new, assieme a delete sono le due parole chiave del C++ che si occupano dell'allocazione dinamica. Sono i corrispettivi di malloc e free del c.
Si usano quando si deve allocare della memoria e non si sa a compile-time quanta.
A breve farò uscire la guida al C++ in cui tutto questo verrà spiegato in lungo e in largo con tanti esempi
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Postato originariamente da HeDo:
Allora new, assieme a delete sono le due parole chiave del C++ che si occupano dell'allocazione dinamica. Sono i corrispettivi di malloc e free del c.
Si usano quando si deve allocare della memoria e non si sa a compile-time quanta.
|
Aggiungerei che l'operatore new si occupa anche di chiamare il costruttore della classe dell'oggetto che si sta istanziando e l'operatore delete fa lo stesso con il distruttore.
Sono operazioni che non hanno corrispondente in C, per ovvie ragioni ed e' per questo motivo che le chiamate NON sono equivalenti e NON vanno mischiate. Nella maggior parte dei casi, e' quindi sbagliato usare la new e la free, oppure la malloc e la delete.
Ultima modifica effettuata da theprogrammer il 28/02/2009 alle 11:02 |
|
xeeynamo (Normal User)
Pro
Messaggi: 66
Iscritto: 14/03/2008
|
Postato originariamente da HeDo:
Allora new, assieme a delete sono le due parole chiave del C++ che si occupano dell'allocazione dinamica. Sono i corrispettivi di malloc e free del c.
Si usano quando si deve allocare della memoria e non si sa a compile-time quanta.
A breve farò uscire la guida al C++ in cui tutto questo verrà spiegato in lungo e in largo con tanti esempi
|
grazie per l'ottima spiegazione !
Wow, sono davvero soddisfatto di questo forum, delle risposte chiare e precise di alcuni di voi! |
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da theprogrammer:
Postato originariamente da HeDo:
Allora new, assieme a delete sono le due parole chiave del C++ che si occupano dell'allocazione dinamica. Sono i corrispettivi di malloc e free del c.
Si usano quando si deve allocare della memoria e non si sa a compile-time quanta.
|
Aggiungerei che l'operatore new si occupa anche di chiamare il costruttore della classe dell'oggetto che si sta istanziando e l'operatore delete fa lo stesso con il distruttore.
Sono operazioni che non hanno corrispondente in C, per ovvie ragioni ed e' per questo motivo che le chiamate NON sono equivalenti e NON vanno mischiate. Nella maggior parte dei casi, e' quindi sbagliato usare la new e la free, oppure la malloc e la delete.
|
x theprogrammer:
più info aggiungi più gli crei casino in testa, quando lavorerà con le classi leggerà di questo funzionamento. Per ora quello che gli interessa sapere e capire è a cosa servono, punto.
x xeeynamo:
Spero di aver chiarito il problema in quel codice
Se hai altri problemi il forum è il posto migliore per esporli!
Ultima modifica effettuata da HeDo il 02/03/2009 alle 1:43 |
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Postato originariamente da HeDo:
più info aggiungi più gli crei casino in testa, quando lavorerà con le classi leggerà di questo funzionamento. Per ora quello che gli interessa sapere e capire è a cosa servono, punto.
|
Non sono d'accordo. Un forum e' fatto per avere tutte le informazioni corrette del caso.
E per la new, questo e' il minimo. Punto. |
|
HeDo (Founder Member)
Guru^2
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da theprogrammer:
Non sono d'accordo. Un forum e' fatto per avere tutte le informazioni corrette del caso.
E per la new, questo e' il minimo. Punto. |
le informazioni non necessarie in un contesto son peggio delle informazioni sbagliate.
Lascia che impari questi dettagli per conto suo, una volta che ha acquisito il concetto di "new".
Già che c'ero gli potevo spiegare come funziona internamente l'hive del registro di windows, tanto ha diritto a tutte le informazioni corrette del caso... ma per favore
essenziale è la chiave. Punto.
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Le informazioni che ho aggiunto sono "specificatamente" relative alla new (e alla delete) ovvero all'argomento che si sta trattando e lo completano.
Non ho parlato di aquiloni o automobili, ma ho completato l'argomento in questione.
L'esempio del registro quindi e' completamente fuori luogo. Punto.
Fra l'altro non capisco perche' te la stai prendendo tanto se qualcuno nel forum completa delle informazioni date da qualcun altro rimanendo in topic ...
Se le informazioni non sono comprese da chi le ha richieste, questo puo' farlo presente e si chiariscono, ma continuo a non capire a te cosa importa. Non le leggere e basta ...
(E per completare ... se sei lo stesso Hedo di visual-basic.it e di altri forum, saprai che la conoscenza e' bene condividerla ...)
Ultima modifica effettuata da theprogrammer il 03/03/2009 alle 14:44 |
|
pierotofy (Admin)
Guru^2
Messaggi: 6230
Iscritto: 04/12/2003
|
Dal momento che il nostro utente ha risolto il suo problema e ha avuto una delucidante spiegazione delle parole chiave new e delete, direi che posso chiudere.
|
|