Menu

Comentarios en C++: una línea // y multilínea /* */

Cómo escribir comentarios en C++ - notas de una línea // y bloques multilínea /* */ - además de cómo comentar código, por qué los comentarios de bloque no se anidan y qué hace que un comentario valga la pena.

Esta página incluye editores ejecutables: edita, ejecuta y ve el resultado al instante.

Para qué sirven los comentarios

Un comentario es texto en tu código fuente que el compilador de C++ ignora por completo. Nunca llega al programa compilado: existe únicamente para las personas que leen el código. Usas comentarios para explicar por qué algo se hace de cierta manera, para dejar recordatorios o para desactivar código temporalmente sin borrarlo.

Partiendo de la sintaxis de C++ que ya conoces, los comentarios son una de las pocas cosas que puedes poner casi en cualquier lugar y el compilador simplemente los saltará. C++ tiene dos tipos: de una línea (//) y de bloque multilínea (/* */).

Comentarios de una línea

Dos barras inclinadas (//) inician un comentario que llega hasta el final de la línea actual. El compilador omite todo desde el // hasta el salto de línea.

Fíjate en que el segundo comentario comparte línea con código real. Todo lo que está antes del // se sigue ejecutando; solo se ignora la parte que va después. Este es el estilo de comentario más común para notas breves.

Comentarios de bloque multilínea

Cuando tu nota ocupa varias líneas, un comentario de bloque es más limpio que anteponer // a cada línea. Un comentario de bloque empieza con /* y termina con */. Todo lo que hay entre ambos - por muchas líneas que sean - se ignora.

Los caracteres * alineados a lo largo del borde son una convención de estilo, no una regla. Las únicas partes que realmente importan son el /* de apertura y el */ de cierre. Un comentario de bloque puede incluso ir en medio de una línea - int x = 5 /* width */ + 2; es válido -, aunque eso se vuelve difícil de leer rápidamente.

Comentar código

Los comentarios son la forma estándar de desactivar código mientras experimentas, sin borrarlo. Usa // para una sola línea, o un comentario de bloque para desactivar varias líneas a la vez.

Ejecútalo y verás que solo se imprimen las dos líneas "runs". Las instrucciones cout comentadas son invisibles para el compilador.

El problema de la no anidación

Una trampa que pilla a los principiantes: los comentarios de bloque no se anidan. El primer */ cierra el comentario, sin importar cuántos /* vinieron antes. Así que no puedes meter un bloque /* ... */ dentro de otro bloque /* ... */: el */ interno termina todo, y lo que viene después vuelve a ser código (normalmente un error de sintaxis).

/*  Trying to disable a region that already has a block comment...
    int n = 10; /* the width */
    cout << n;
*/  // the first */ above already closed the comment - this line is now stray code

El comentario exterior termina en el */ que va después de the width, así que el resto ya no está comentado y el compilador se atasca con el */ final. Cuando necesites desactivar una región que ya contiene comentarios de bloque, usa // en cada línea. La mayoría de los editores activan o desactivan los comentarios de línea en toda una selección con un solo atajo de teclado, lo que evita por completo el problema.

Comentarios útiles frente al ruido

Un comentario debería explicar algo que el código no puede decir por sí solo. Los comentarios que se limitan a repetir el código añaden desorden y tienden a quedarse desactualizados a medida que el código cambia.

// Bad: just repeats what the code obviously does
i = i + 1; // add one to i

// Better: explains the reason, which the code can't show
retries++; // back off and retry; the API is rate-limited at 5 req/sec

Procura que el código sea legible mediante nombres claros y una buena estructura, y reserva los comentarios para el porqué: la intención, las concesiones, los casos límite y los enlaces al contexto. Si te descubres escribiendo un comentario para explicar una línea confusa, eso suele ser una señal para renombrar una variable o dividir la lógica en una función con un buen nombre.

Siguiente: Variables

Ahora que puedes anotar tu código, el siguiente componente básico es almacenar datos en él. La próxima página trata las variables: cómo declararlas, los tipos integrados que contienen y las reglas que C++ impone por ser de tipado estático.

Preguntas frecuentes

¿Cómo se escribe un comentario en C++?

Usa // para un comentario de una sola línea: todo lo que va después en esa línea lo ignora el compilador. Para un comentario que ocupa varias líneas, encierra el texto entre /* y */. Por ejemplo: // esto es una nota o /* esto ocupa varias líneas */.

¿Cuál es la diferencia entre // y /* */ en C++?

// comenta el resto de una sola línea, así que necesitas uno en cada línea. /* */ es un comentario de bloque que empieza en /* y continúa hasta el siguiente */, incluso a lo largo de muchas líneas. Usa // para notas breves en línea y /* */ para desactivar de golpe un fragmento de texto o de código.

¿Se pueden anidar comentarios en C++?

No. Los comentarios de bloque (/* */) no se anidan: el primer */ cierra el comentario sin importar cuántos /* hayan venido antes. Para desactivar una región que ya contiene comentarios de bloque, pon // en cada línea (la mayoría de los editores lo hacen con un solo atajo).

Coddy programming languages illustration

Aprende a programar con Coddy

COMENZAR