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

    [c++] vector e memory leak

    ciao

    io metto in un vector allocato dinamicamente alcuni oggetti allocandoli dinamicamente

    codice:
      vector<Sms*> *v=new vector<Sms*>();
      v->push_back(new Sms(1,"a","ss"));
      v->push_back(new Sms(2,"ass","asss"));
      v->push_back(new Sms(3,"as","saass"));
      v->push_back(new Sms(4,"da","ssaa"));
    ora, volendo deallocare il tutto, come devo fare?

    ho provato con

    codice:
        v->clear();
        delete v;
    però lasciando ciclare il tutto un po vedo che la memoria occupata sale vertiginosamente

    molto probabilmente perchè v->clear() svuota vector da tutti gli elementi, i quali però contengono solo il puntatore ai vari oggetti Sms

    come faccio quindi a eliminare i vari oggetti referenziati per poi svuotare l'array tranquillamente?

    ciao e grazie
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    potresti scorrenti tutto il vector e deallocare uno ad uno i singoli elementi e poi deallocare il vector

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    è quello che ho provato a fare ma non funzionava...

    cmq ho risolto mettendo oggetti statici e non dinamici nel vettore...
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

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.