13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 144 — #182<br />

✐<br />

Capítulo 4. Abstracción de Datos<br />

}<br />

int newQuantity = s->quantity + increase;<br />

int newBytes = newQuantity * s->size;<br />

int oldBytes = s->quantity * s->size;<br />

unsigned char* b = new unsigned char[newBytes];<br />

for(int i = 0; i < oldBytes; i++)<br />

b[i] = s->storage[i]; // Copy old to new<br />

delete [](s->storage); // Old storage<br />

s->storage = b; // Point to new memory<br />

s->quantity = newQuantity;<br />

void cleanup(CStash* s) {<br />

if(s->storage != 0) {<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!