Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++] dubbio su distruttore classe

    Ragazzi ho un dubbio a riguardo i distruttori delle classi;vi faccio un piccolo esempio
    Ho il seguento codice
    codice:
    #ifndef CLASSE_H_
    #define CLASSE_H_
    #include <string>
    
    class C{
    
               private: string a;
    
              public:
                       .....costruttori ed eventuali funzioni della classe.....
                       ~C(){};   //dubbio
    
    };
    
    #endif
    se dichiaro una variabile di tipo string e la classe string si occupa di tutta la parte dell'allocazione dinamica di tale stringa senza che io ci operi direttamente con l'allocazione dinamica di tale variabile , la classe C deve essere dotata di distruttore?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    La classe deve avere un distruttore quando:
    1) Deve provvedere al rilascio di risorse impiegate tipo: memoria, file handle, mutex, handle del sistema operativo etc;

    2) è previso il suo impiego come base per una gerarchia di derivazione. In questo caso il distruttore deve essere virtuale.

    Nel caso specifico std::string si occupa di tutto e pertanto, a meno che tu non ci aggiunga qualcos'altro del caso 1, il distruttore non serve.
    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.

  3. #3
    ok grazie mille per la risposta

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