Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563

    Recuperare memoria sprecata

    Mettiamo il caso che mentre sto programmando,alloco della memoria senza metterla in un puntatore
    codice:
    new int[100];
    non avendo specificato un puntatore in cui mettere la memoria allocata, possiamo dire che è stata persa. esiste un modo per avere un puntatore e recuperare eventuale memoria persa?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    L'unico modo che conosco è quello di evitare la perdita di qualsiasi riferimento alla memoria allocata e occuparsi del suo corretto rilascio, e spero che - salvo l'adozione di un Garbage Collector - non sia possibile agire in altro modo, per coerenza.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Correggetemi se sbaglio, ma il C++ nn usa un reference counter?
    ovvero che ha una tabellina dove controlla che tutte le variabili siano puntate da almeno un puntatore

    per quel che so è SI, ma nn ne sono più sicuro leggendo la domanda ^^'

    se è come dico io allora appena viene la memoria viene allocata in quel modo, viene subito deallocata perche nn vi sono puntatori che la tengono a mente

  4. #4
    Assolutamente no...per fare in questo modo occorrerebbe un Garbage Collector come quello di Java o di .NET, peccato che è sicuramente meno efficente che stare attenti a ciò che si fa.
    Esistono comunque metodi in C++ per evitare che si perda della memoria...a meno di non volerlo fare a tutti i costi

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.