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 147 — #185<br />

✐<br />

4.1. Una librería pequeña al estilo C<br />

que el responsable de esta tarea sea el programador (o sea usted). Para esto se debe<br />

utilizar delete, lo cual le indica al administrador del montículo que ese espacio de<br />

memoria puede ser utilizado por próximas llamadas a new. En nuestra librería de<br />

ejemplo, el lugar lógico para esta tarea es la función cleanup() dado que allí es<br />

dónde se deb<strong>en</strong> realizar todas las labores de finalización de uso del objeto.<br />

Para probar la librería se crean dos Cstash, uno que almac<strong>en</strong>e <strong>en</strong>teros y otro para<br />

cad<strong>en</strong>as de 80 caracteres:<br />

//: C04:CLibTest.cpp<br />

//{L} CLib<br />

// Test the C-like library<br />

#include "CLib.h"<br />

#include <br />

#include <br />

#include <br />

#include <br />

using namespace std;<br />

int main() {<br />

// Define variables at the beginning<br />

// of the block, as in C:<br />

CStash intStash, stringStash;<br />

int i;<br />

char* cp;<br />

ifstream in;<br />

string line;<br />

const int bufsize = 80;<br />

// Now remember to initialize the variables:<br />

initialize(&intStash, sizeof(int));<br />

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

add(&intStash, &i);<br />

for(i = 0; i < count(&intStash); i++)<br />

cout

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

Saved successfully!

Ooh no, something went wrong!