Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Ho provato a cambiare metodo di allocazione ma si creano altri 100 problemi, allora prima di postare un'altra discussione per un altro problema volevo risolverne uno per volta dato che il mio problema iniziale non era l'allocazione dinamica...
    Ci sono solo due cose infinite: l'universo e la stupidità umana. Ma non sono del tutto sicuro della prima

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Veramente non credo si possano creare problemi da una semplice allocazione dinamica di un vettore ... tanto meno altri 100 problemi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Se allochi memoria con new[] devi liberarla con delete[] e non con delete altrimenti il comportamento è indefinito.
    Comunque ti consiglio di non mischiare C e C++ a casaccio e in particolare di non usare stringhe C like (i char* per capirsi) se puoi sostituirle con std::string.

    Ad esempio non capisco il senso di avere un campo char* TABELLA.nome quando basta utilizzare un std::string TABELLA.nome per risparmiarsi un'allocazione di memoria (che poi liberi con una semplice delete e non con delete[])
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  4. #14
    Originariamente inviato da oregon
    Veramente non credo si possano creare problemi da una semplice allocazione dinamica di un vettore ... tanto meno altri 100 problemi ...
    Lo so, per questo non capisco...

    Originariamente inviato da shodan
    Comunque ti consiglio di non mischiare C e C++ a casaccio e in particolare di non usare stringhe C like (i char* per capirsi) se puoi sostituirle con std::string.

    Ad esempio non capisco il senso di avere un campo char* TABELLA.nome quando basta utilizzare un std::string TABELLA.nome per risparmiarsi un'allocazione di memoria (che poi liberi con una semplice delete e non con delete[])
    Lo so, ma ho iniziato da poco con il C++ e non conosco anncora TUTTE le differenze tra C e C++... Comunque ho già fatto tutti i cambi da char* a string

    Originariamente inviato da shodan
    Se allochi memoria con new[] devi liberarla con delete[] e non con delete altrimenti il comportamento è indefinito.
    Questo non lo sapevo...Se io alloco
    TABELLA = new Tabella[numero_righe];
    dove TABELLA è la variabile e Tabella è il tipo, devo deallocare così?
    delete TABELLA[numero_righe];
    Mi da come errore: type `struct Tabella' argument given to `delete', expected pointer
    Ci sono solo due cose infinite: l'universo e la stupidità umana. Ma non sono del tutto sicuro della prima

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da giulio.dr
    delete TABELLA[numero_righe];
    No ...

    delete[] TABELLA;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #16
    Grazie mille, ora non ho + quel problema (anche se era davvero strano... )
    Ci sono solo due cose infinite: l'universo e la stupidità umana. Ma non sono del tutto sicuro della prima

  7. #17
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Leggi qui per capire il motivo.
    http://www.eptacom.net/pubblicazioni/pub_it/iso_8.html

    (Affermazione falsa n°2)
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.