Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++] malloc VS new

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423

    [C++] malloc VS new

    Perchè e quando preferire malloc a new e viceversa ? New è più OOP-friendly perchè quando viene invocato inizializza gli elementi dell'array, mentre questo non può essere fatto con malloc e quindi si deve ricorrere ad altre procedure di inizializzazione. Però personalmente quando possibile preferisco malloc, prima di tutto per abitudine () ed in secondo luogo per la funzione realloc, che non ha un corrispondente con new e che personalmente trovo estremamente comoda.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    La new/delete e' caratteristica di C++.

    La new non si limita ad allocare memoria ma chiama il costruttore dell'oggetto. Nel costruttore dell'oggetto puo' esserci un intero programma (!) che viene eseguito all'atto della creazione dello spazio ... Similmente, la delete, chiama il distruttore ...

    La malloc/realloc/free e' utilizzata solamente per gestire memoria.

  3. #3
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    le caratteristiche OO non sono mica state introdotte per sport...il doppio step allocazione memoria/inizializzazione è una delle cause principali di bug in c/cc, perche un oggeto dovrebbe sempre esere in uno stato 'ammissibile', invece con malloc ciò no avviene; inoltre new richiama anche i costruttori delle superclassi in modo automatico.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.