Come ricompattare la memoria in un vector
Ciao,
domanda lanciata durante l'ultimo incontro:
vector alloca la memoria in modo "esponenziale", la domanda come possiamo fare per ricompattare la memoria ed evitare gli sprechi?
domanda lanciata durante l'ultimo incontro:
vector alloca la memoria in modo "esponenziale", la domanda come possiamo fare per ricompattare la memoria ed evitare gli sprechi?
Commenti
cosa permette di fare swap (metodo di vector)?
cosa succede se utilizzo il costruttore di copie in un vector
vector< T >(???).swap(???);
per cambiare realmente la capacità di storage allocata per un vettore v ( verificabile con il metodo capacity() ), possiamo utilizzare la seguente sintassi:
vector< myclass >( v ).swap( v );
creo un oggetto temporaneo e lo inizializzo con il reale contenuto di v, poi scambio il contenuto di v con quello del temporaneo, ricompattando di fatto v.
ma anonimo non vale, lascia almeno le iniziali per essere premiato ;-)