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 63 — #101<br />

✐<br />

3: C <strong>en</strong> <strong>C++</strong><br />

Como <strong>C++</strong> está basado <strong>en</strong> C, debería estar familiarizado con la<br />

sintaxis de C para poder programar <strong>en</strong> <strong>C++</strong>, del mismo modo que debería<br />

t<strong>en</strong>er una fluidez razonable <strong>en</strong> álgebra para poder hacer cálculos.<br />

Si nunca antes ha visto C, este capítulo le dará una bu<strong>en</strong>a base sobre el estilo de C<br />

usado <strong>en</strong> <strong>C++</strong>. Si está familiarizado con el estilo de C descrito <strong>en</strong> la primera edición<br />

de Kernighan & Ritchie (también llamado K&R) <strong>en</strong>contrará algunas características<br />

nuevas o difer<strong>en</strong>tes tanto <strong>en</strong> <strong>C++</strong> como <strong>en</strong> el estándar C. Si está familiarizado con<br />

el estándar C debería echar un vistazo al capítulo <strong>en</strong> busca de las características<br />

particulares de <strong>C++</strong>. Note que hay algunas características fundam<strong>en</strong>tales de <strong>C++</strong><br />

que se introduc<strong>en</strong> aquí, que son ideas básicas parecidas a características de C o a<br />

m<strong>en</strong>udo modificaciones <strong>en</strong> el modo <strong>en</strong> que C hace las cosas. Las características más<br />

sofisticadas de <strong>C++</strong> se explicarán <strong>en</strong> capítulos posteriores<br />

Este capítulo trata por <strong>en</strong>cima las construcciones de C e introduce algunas construcciones<br />

básicas de <strong>C++</strong>, suponi<strong>en</strong>do que ti<strong>en</strong>e alguna experi<strong>en</strong>cia programando<br />

<strong>en</strong> otro l<strong>en</strong>guaje. En el CD-ROM que acompaña a este libro hay una introducción<br />

más suave a C, titulada Thinking in C: Foundations for Java & <strong>C++</strong> de Chuck Alison<br />

(publicada por MidView, Inc. y disponible también <strong>en</strong> www.MindView.net). Se trata<br />

de un seminario <strong>en</strong> CD-ROM cuyo objetivo es guiarle cuidadosam<strong>en</strong>te a través de<br />

los fundam<strong>en</strong>tos del l<strong>en</strong>guaje C. Se conc<strong>en</strong>tra <strong>en</strong> el conceptos necesarios para permitirle<br />

pasarse a <strong>C++</strong> o a Java, <strong>en</strong> lugar de int<strong>en</strong>tar convertirle <strong>en</strong> un experto <strong>en</strong> todos<br />

los oscuros recovecos de C (una de las razones para usar un l<strong>en</strong>guaje de alto nivel<br />

como <strong>C++</strong> o Java es precisam<strong>en</strong>te evitar muchos de estos recovecos). También conti<strong>en</strong>e<br />

ejercicios y soluciones guiadas. T<strong>en</strong>ga pres<strong>en</strong>te que este capítulo va después<br />

del CD Thinking in C, el CD no reemplaza a este capítulo, sino que debería tomarse<br />

como una preparación para este capítulo y para el libro.<br />

3.1. Creación de funciones<br />

En el antiguo C (previo al estándar), se podía invocar una función con cualquier<br />

número y tipo de argum<strong>en</strong>tos sin que el compilador se quejase. Todo parecía ir bi<strong>en</strong><br />

hasta que ejecutabas el programa. El programa acababa con resultados misteriosos<br />

(o peor, el programa fallaba) sin ninguna pista del motivo. La falta de ayuda acerca<br />

del paso de argum<strong>en</strong>tos y los <strong>en</strong>igmáticos bugs que resultaban es, probablem<strong>en</strong>te, la<br />

causa de que C se considerase «un l<strong>en</strong>guaje <strong>en</strong>samblador de alto nivel». Los programadores<br />

de pre-Estándar C simplem<strong>en</strong>te se adaptaron.<br />

C y <strong>C++</strong> Estándar usan una característica llamada prototipado de funciones. Con esta<br />

herrami<strong>en</strong>ta se han de describir los tipos de argum<strong>en</strong>tos al declarar y definir una<br />

63<br />

✐<br />

✐<br />

✐<br />

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

Saved successfully!

Ooh no, something went wrong!