El lenguaje de programación C++ (versión comentada)

El lenguaje de programación C++ es un libro escrito por el creador de C++, Bjarne Stroustrup, en el que, según puede leerse en su contraportada:

El libro presenta el lenguaje C++ al completo: desde una visión global de sus conceptos y características básicas y su biblioteca estándar hasta todos los aspectos del diseño y desarrollo de tecnicas específicas de programación en C++.

No es que me entere ahora, por supuesto; de hecho, el libro lo adquirí en 2005 pero no ha sido hasta ahora que he decidido reconciliarme con C++ que lo he vuelto a abrir.

¿Y por qué reconciliarme con C++? Bueno, porque, sin lugar a dudas, se trata de un lenguaje importante y muy popular y bastante necesario para entrar en (por ejemplo) la industria del videojuego sin ir más lejos. Además, de utilizar Java, C# y Python le había cogido tirria a su sintáxis (de hecho, sigo pensando que es confusa y ambigua).

Llevo ya un par de capítulos del librito (son más de 1000 páginas) y conforme leo me convenzo más de mi juicio original. Aunque quizá también tenga que ver el cómo el señor Stroustrup nos enseña las distintas características del lenguaje, cometiendo contradicciones a cada página que no son más que montones de «excepciones a la regla» y vestigios de la «compatibilidad con C».

No obstante, para quien conozca C, el libro es un buen manual de programación y a lo largo de esta nueva serie voy a resaltar, comentar y tratar de corregir cada aspecto ambiguo o contradictorio que descubra en el libro por el bien del equilibrio mental de quienes, como yo, decidan seguir el camino de C++. Serán comentarios cortos, dónde se describirá un problema concreto y se tratará de arrojar luz sobre el mismo, para que sirvan de pequeñas lecciones individuales.

A favor del señor Stroustrup, de su lenguaje de programación y de su libro he de decir que cuanto más se sabe de C, peor se tiende a programar en C++ o mejor dicho, peor se aprovecha C++ tal y como él afirma diciendo:

Cuanto más C se sabe, más difícil parece evitar escribir C++ al estilo de C, prediendo por tanto algunos de los beneficioes potenciales de C++.

Como sé que C++ tiene un ejército de defensores, espero que haya movimiento en los comentarios. Una esperanza vana viendo la cantidad de visitas diarias pero oye, por intentarlo…

Bueno, primeras notas en el próximo post.

Un truquillo para comentar en C

A veces necesitamos activar y desactivar un cachito de código y aunque existen soluciones muy elegantes, en ocasiones nos conformamos con comentar esas líneas que queremos desactivar. Una forma de hacerlo rápido es mediante el siguiente atajo:

Todos sabemos que en C/C++ tenemos dos tipos de comentarios, los comentarios de línea…

// Esto es un comentario de línea

y los comentarios de bloque…

/* Esto es un comentario de bloque
que no termina hasta que encuentra
la siguiente combinación de símbolos
*/

Para activar/desactivar un bloque de código como este:

int i;
for (i=0; i<10; i++){
printf("Fuuuuuu!\n");
}

Basta con añadir al final de la línea 4, justo tras la llave de cierre, el siguiente comentario:

// */

Ahora, cuando queramos desactivar el fragmento de código escribiremos antes del mísmo la apertura del comentario de bloque:

/*
int i;
for (i=0; i<10; i++){
printf("Fuuuuuu!\n");
} // */

Y cuando queramos activar el fragmento, borraremos la marca:


int i;
for (i=0; i<10; i++){
printf("Fuuuuuu!\n");
} // */

También es bastante útil en depuración cuando, tras comentar una región conflictiva, vamos descomentando partes de la región para encontrar la sentencia que produce el error.