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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

✐<br />

✐<br />

✐<br />

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

✐<br />

Índice g<strong>en</strong>eral<br />

3.8.3. Programas más claros gracias a <strong>en</strong>um . . . . . . . . . . . . . . . 112<br />

3.8.3.1. Comprobación de tipos para <strong>en</strong>umerados . . . . . . . 114<br />

3.8.4. Cómo ahorrar memoria con union . . . . . . . . . . . . . . . . 114<br />

3.8.5. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

3.8.5.1. Punteros y arrays . . . . . . . . . . . . . . . . . . . . . 117<br />

3.8.5.2. El formato de punto flotante . . . . . . . . . . . . . . . 120<br />

3.8.5.3. Aritmética de punteros . . . . . . . . . . . . . . . . . . 121<br />

3.9. Consejos para depuración . . . . . . . . . . . . . . . . . . . . . . . . . . 124<br />

3.9.1. Banderas para depuración . . . . . . . . . . . . . . . . . . . . . . 124<br />

3.9.1.1. Banderas de depuración para el preprocesador . . . . 124<br />

3.9.1.2. Banderas para depuración <strong>en</strong> tiempo de ejecución . . 124<br />

3.9.2. Convertir variables y expresiones <strong>en</strong> cad<strong>en</strong>as . . . . . . . . . . . 126<br />

3.9.3. La macro C assert() . . . . . . . . . . . . . . . . . . . . . . . . . . 126<br />

3.10. Direcciones de función . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127<br />

3.10.1. Definición de un puntero a función . . . . . . . . . . . . . . . . 127<br />

3.10.2. Declaraciones y definiciones complicadas . . . . . . . . . . . . . 128<br />

3.10.3. Uso de un puntero a función . . . . . . . . . . . . . . . . . . . . 129<br />

3.10.4. Arrays de punteros a funciones . . . . . . . . . . . . . . . . . . . 129<br />

3.11. Make: cómo hacer compilación separada . . . . . . . . . . . . . . . . . 130<br />

3.11.1. Las actividades de Make . . . . . . . . . . . . . . . . . . . . . . . 131<br />

3.11.1.1. Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br />

3.11.1.2. Reglas de sufijo . . . . . . . . . . . . . . . . . . . . . . 132<br />

3.11.1.3. Objetivos predeterminados . . . . . . . . . . . . . . . . 133<br />

3.11.2. Los Makefiles de este libro . . . . . . . . . . . . . . . . . . . . . . 134<br />

3.11.3. Un ejemplo de Makefile . . . . . . . . . . . . . . . . . . . . . . . 134<br />

3.12. Resum<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br />

3.13. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br />

4. Abstracción de Datos 141<br />

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

4.1.1. Asignación dinámica de memoria . . . . . . . . . . . . . . . . . 145<br />

4.1.2. Malas suposiciones . . . . . . . . . . . . . . . . . . . . . . . . . . 148<br />

4.2. ¿Qué ti<strong>en</strong>e de malo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />

4.3. El objeto básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150<br />

4.4. ¿Qué es un objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />

4.5. Tipos abstractos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 156<br />

4.6. Detalles del objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />

4.7. Conveciones para los ficheros de cabecera . . . . . . . . . . . . . . . . . 158<br />

VII<br />

✐<br />

✐<br />

✐<br />

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

Saved successfully!

Ooh no, something went wrong!