21/04/2021
En el mundo de la programación, escribir código que funcione es solo la mitad de la batalla. La otra mitad, a menudo subestimada, es escribir código que sea comprensible, mantenible y fácil de modificar en el futuro. Aquí es donde entran en juego los comentarios. Un comentario es una nota legible por humanos dentro del código fuente que el compilador ignora por completo. Su único propósito es ayudar a los programadores a entender lo que está sucediendo. En C++, existen herramientas poderosas para documentar tu código, y dominarlas te convertirá en un desarrollador más eficaz y colaborativo.

Este artículo es una guía completa sobre cómo, cuándo y por qué usar comentarios en C++. Exploraremos desde la sintaxis básica hasta las mejores prácticas que distinguen a un programador novato de uno profesional.
Tipos de Comentarios en C++
C++ nos ofrece principalmente dos formas de insertar comentarios en nuestro código. Aunque ambas cumplen el mismo objetivo final, su uso y sintaxis difieren, haciéndolas adecuadas para distintos escenarios.
Comentarios de una Sola Línea: El Estilo C++ (//)
Este es el tipo de comentario más común y moderno. Comienza con una doble barra inclinada // y le indica al compilador que ignore todo lo que sigue hasta el final de esa línea.
#include <iostream> int main() { // Imprime un mensaje de saludo en la consola. std::cout << "¡Hola, Mundo!"; // std::cout se encuentra en la librería iostream return 0; // Indica que el programa finalizó con éxito }Como se puede ver, los comentarios de una sola línea son perfectos para notas rápidas y concisas. Pueden ocupar su propia línea para explicar el bloque de código que viene a continuación, o pueden colocarse al final de una instrucción para aclarar su propósito específico.
Una característica interesante es el uso del carácter de barra invertida \ al final de la línea. Este actúa como un carácter de continuación, haciendo que el comentario se extienda a la siguiente línea.
// Este comentario es muy largo y necesita continuar \ // en la siguiente línea para ser legible. int x = 10;Comentarios Multilínea: El Estilo C (/* ... */)
Originarios del lenguaje C, estos comentarios comienzan con /* y terminan con */. Todo lo que se encuentre entre estos dos delimitadores será ignorado por el compilador, sin importar si abarca múltiples líneas.
/* Este es un comentario multilínea. Es ideal para explicaciones más extensas o para la documentación de una función completa, describiendo sus parámetros, lo que retorna y su propósito general. */ void miFuncionCompleja() { // ... código de la función ... }¡Cuidado con el anidamiento! Una de las reglas más importantes sobre los comentarios de estilo C es que no se pueden anidar. El compilador considera que el comentario termina en la primera secuencia */ que encuentra. Esto puede llevar a errores inesperados.
/* Este es un comentario externo. /* Intento de comentario anidado */ <-- ¡Esto no funciona! El texto aquí fuera del supuesto comentario anidado... */ <-- El primer */ cerró todo. ...causará un error de compilación. */En el ejemplo anterior, el primer */ cierra el comentario que comenzó con el primer /*. El texto posterior, "...causará un error de compilación.", queda fuera del comentario y el compilador intentará interpretarlo como código C++, lo que resultará en un error.
El Arte de Comentar: Más Allá de la Sintaxis
Saber cómo escribir un comentario es fácil. Saber qué comentar, cómo y por qué, es una habilidad que se desarrolla con la práctica y que mejora enormemente la legibilidad y mantenibilidad del código.

El 'Qué', el 'Cómo' y el crucial 'Por Qué'
Un buen uso de los comentarios se puede dividir en tres niveles de explicación:
- Qué hace el código (Nivel alto): Al principio de un archivo, clase o función, un comentario debe describir su propósito general. ¿Qué problema resuelve esta pieza de código? Un nuevo programador en el equipo debería poder leer este comentario y entender la finalidad de la función sin necesidad de leer cada línea de su implementación.
- Cómo lo hace (Nivel medio): Si el algoritmo o la lógica implementada es compleja, un comentario puede describir los pasos que se seguirán para lograr el objetivo. Por ejemplo: "Para encontrar el item, primero filtramos por rareza, luego calculamos una probabilidad ponderada y finalmente seleccionamos uno al azar".
- Por qué lo hace así (Nivel bajo): Este es, a menudo, el tipo de comentario más valioso. El código en sí mismo muestra *qué* está haciendo (ej.
x = 5;). Un comentario inútil sería `// Asigna 5 a x`. Un comentario útil explicaría *por qué* se está asignando ese valor: `// Usamos 5 como valor inicial porque es el número mínimo de intentos permitidos`. Estos comentarios capturan decisiones de diseño y contexto que de otra manera se perderían.
Ejemplos: Comentarios Buenos vs. Comentarios Malos
Veamos algunos ejemplos para solidificar estos conceptos.
Mal comentario (obvio):
// Decrementa la variable 'vidas' vidas--;Buen comentario (explica el porqué):
// El jugador ha colisionado con un enemigo, pierde una vida. vidas--;Mal comentario (no explica la lógica):
// Calcula el precio final precioFinal = precioBase * 1.21;Buen comentario (explica el número mágico):
// Añadimos el 21% de IVA al precio base para obtener el precio final. precioFinal = precioBase * 1.21;Una Herramienta de Depuración: Comentar Código
Además de la documentación, los comentarios son una herramienta indispensable durante el desarrollo y la depuración. La práctica de "comentar código" (o "commenting out") se refiere a convertir temporalmente líneas de código en comentarios para que el compilador las ignore.
¿Por Qué Desactivarías Código Temporalmente?
- Probar sin código nuevo: Estás trabajando en una nueva funcionalidad que aún no compila, pero necesitas ejecutar el programa para probar otra cosa. Comentas el código nuevo y listo.
- Aislar errores (Bugs): Tu programa no funciona como esperas. Puedes comentar bloques de código sistemáticamente hasta que el error desaparezca. El último bloque que comentaste es probablemente la fuente del problema.
- Comparar implementaciones: Quieres reemplazar un algoritmo antiguo por uno nuevo. En lugar de borrar el antiguo, lo comentas. Así, puedes volver a él fácilmente si la nueva implementación no funciona.
void procesarDatos() { // Antigua implementación (lenta) /* for (int i = 0; i < size; ++i) { // ... lógica compleja ... } */ // Nueva implementación (más rápida) procesarConNuevoAlgoritmo(); }Consejos para IDEs Populares
La mayoría de los Entornos de Desarrollo Integrado (IDEs) tienen atajos de teclado para comentar y descomentar rápidamente bloques de código seleccionados. Esto agiliza enormemente el proceso.
- Visual Studio: Selecciona el código y usa
Ctrl + K, Ctrl + Cpara comentar yCtrl + K, Ctrl + Upara descomentar. - VS Code: Selecciona el código y presiona
Ctrl + /(oCmd + /en Mac) para alternar el comentario. - Code::Blocks: Selecciona el código y ve al menú
Edit > Comment.
Tabla Comparativa Rápida
Para resumir, aquí tienes una tabla que compara los diferentes métodos para ignorar código.
| Característica | Comentario de Línea (//) | Comentario de Bloque (/* */) |
|---|---|---|
| Sintaxis | // hasta el final de la línea | /* ... */ |
| Uso Principal | Notas rápidas, explicaciones de una línea. | Documentación extensa, desactivar bloques de código. |
| Anidación | No aplicable. | No permitido, causa errores. |
| Ventaja Principal | Rápido y simple para notas breves. | Flexible para grandes bloques de texto o código. |
| Desventaja | Incómodo para desactivar múltiples líneas. | El no anidamiento puede ser una fuente de errores. |
Preguntas Frecuentes (FAQ)
¿Afectan los comentarios al rendimiento de mi programa?
No, en absoluto. Los comentarios son completamente eliminados por el compilador durante la primera fase del proceso de compilación. El ejecutable final no contiene ninguna traza de ellos, por lo que no tienen ningún impacto en la velocidad o el tamaño del programa.
¿Qué pasa si olvido cerrar un comentario multilínea `*/`?
Este es un error común. Si olvidas el */, el compilador seguirá tratando todo el código subsiguiente como parte del comentario hasta que encuentre un */ o llegue al final del archivo. Esto generalmente resulta en una cascada de errores de compilación extraños, ya que el compilador no encontrará funciones o variables que cree que están dentro del comentario.
¿Es mejor usar `//` o `/* */`?
Es en gran medida una cuestión de estilo personal y de equipo. Una convención muy extendida y recomendable es usar // para toda la documentación y comentarios explicativos dentro del código, y reservar /* */ exclusivamente para la tarea de comentar (desactivar) bloques de código durante la depuración. Esto evita conflictos y hace la intención más clara.
Conclusión: Escribe Código para Humanos
Los comentarios son un puente entre la lógica de la máquina y la comprensión humana. Un programa no solo debe darle instrucciones a un ordenador, sino también contar una historia a la siguiente persona que lo lea, que muy probablemente serás tú mismo dentro de seis meses. Dominar la sintaxis de los comentarios es trivial; aprender el arte de escribir comentarios claros, concisos y, sobre todo, útiles, es una habilidad que te acompañará y te definirá a lo largo de toda tu carrera como programador. No comentes lo obvio, comenta el porqué.
Si quieres conocer otros artículos parecidos a Comentarios en C++: Guía Definitiva y Prácticas puedes visitar la categoría Juegos.
