Variables y parámetros const
Proteja los datos frente a cambios
Variables y parámetros const es una lección gratuita de C++ Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C++ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C++ Academy incluye 4 lecciones en total.
Declaración de variables const
Una variable const no puede modificarse después de su inicialización. El compilador lo garantiza y detecta las escrituras accidentales.
#include <iostream>
int main() {
const int maxUsers = 100;
// maxUsers = 200; // ERROR
std::cout << maxUsers << "\n";
}Parámetros de función const
Marcar como const un parámetro pasado por valor impide que el cuerpo de la función modifique su copia local; sirve como ayuda para documentar y proteger el código.
#include <iostream>
int doubled(const int n) {
// n = 0; // ERROR
return n * 2;
}
int main() { std::cout << doubled(21) << "\n"; }Parámetros de referencia const
Pasar por const& evita copiar objetos grandes y garantiza que no se modificarán; es la forma habitual de pasar cadenas y contenedores.
#include <iostream>
#include <string>
void printLen(const std::string& s) { // no copy, no change
std::cout << s.size() << "\n";
}
int main() { printLen("hello"); }Puntero a const
const T* significa que no puede cambiar el valor apuntado a través de este puntero, aunque el propio puntero sí puede reasignarse.
#include <iostream>
int main() {
int a = 1, b = 2;
const int* p = &a;
// *p = 5; // ERROR: value is const
p = &b; // OK: pointer can move
std::cout << *p << "\n";
}Puntero const
T* const es un puntero constante: no puede reasignarlo, pero sí puede modificar el valor al que apunta.
#include <iostream>
int main() {
int a = 1;
int* const p = &a;
*p = 9; // OK: value changeable
// p = nullptr; // ERROR: pointer is const
std::cout << *p << "\n";
}Lectura de declaraciones de derecha a izquierda
Lea las declaraciones con const de derecha a izquierda: const int* const es un "puntero const a un int const"; ni el valor ni el puntero pueden cambiar.
¿Por qué la corrección const?
Usar const siempre que corresponda documenta la intención, evita errores y permite que el compilador optimice el código. Esta disciplina se denomina corrección const.
const permite llamadas desde const
Una función que recibe un const& puede aceptar tanto argumentos const como no const, además de temporales. Una referencia no const no puede vincularse a un temporal.
Una variable local const facilita el razonamiento
Declarar como const las variables locales que no deberían cambiar facilita la lectura del código y evita reasignaciones accidentales.
#include <iostream>
int main() {
const double rate = 0.2;
const double total = 100 * (1 + rate);
std::cout << total << "\n";
}const de nivel superior en valores
En los parámetros pasados por valor, const de nivel superior no afecta al llamador; solo restringe el cuerpo de la función y suele omitirse en las declaraciones.
Añada const desde el principio
Es mucho más fácil comenzar con corrección const que incorporarla posteriormente. Adquiera el hábito de aplicar const a parámetros, referencias y variables locales de forma predeterminada.
Comprobación rápida
Compruebe cuánto entiende de const.
Repaso
Ha aprendido a usar const en variables, parámetros, referencias y punteros, así como la diferencia entre puntero a const y puntero const. La corrección const documenta la intención, evita errores y permite vincularse a temporales y optimizar el código.
Preguntas frecuentes
¿La lección «Variables y parámetros const» es gratis?
Sí — el texto completo de «Variables y parámetros const» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C++ Academy, actualiza a CoddyKit PRO. El curso de C++ Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Variables y parámetros const»?
Proteja los datos frente a cambios Practicas C++ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C++ Academy?
No se requiere experiencia previa. C++ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Variables y parámetros const»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C++ Academy?
Sí. Cada lección de C++ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Variables y parámetros const
- Funciones miembro const
- constexpr y tiempo de compilación
- consteval y constinit