Memoria y Punteros
Artículos sobre punteros, referencias, gestión de memoria dinámica y direccionamiento en C++.
Memoria y Punteros
El poder de bajo nivel de C++: direccionamiento, punteros y referencias; pila vs. montón; gestión de memoria dinámica.
Explore los riesgos de new/delete, patrones seguros y técnicas para evitar fugas de memoria.
Objetivo: Aplicar correctamente direccionamiento y memoria dinámica para escribir código C++ seguro y sin errores.
TL;DR
- Punteros y referencias:
int* p,int& r,nullptr. - Memoria dinámica:
new/delete,new[]/delete[]. - Arreglos y aritmética de punteros:
*(p + i). - Buenas prácticas/herramientas: RAII; paso hacia
std::unique_ptr.
Conceptos de direcciones y memoria
Cómo funcionan las direcciones de memoria: bytes, disposición y referencia con punteros.
Referencias vs punteros
Diferencias clave: nulidad, reasignación, indirección y semántica de memoria en C++.
Pasar parámetros por punteros a funciones
Pasar direcciones a funciones: modificar valores y analizar el costo de indirección.
Relación entre arreglos y punteros
Decaimiento de arreglos a punteros y aritmética de punteros para recorrer memoria.
Gestión de memoria dinámica: new y delete
Asignaciones en heap, uso seguro de new/delete y preparación para RAII moderno.
Fugas de memoria y análisis con valgrind
Detectar fugas, interpretar informes de valgrind y evitar errores de asignación.
Arreglos multidimensionales y punteros
Arreglos 2D/3D, disposición row-major y cálculo de índices con punteros en C++.
Introducción a los smart pointers
Primeros pasos con unique_ptr, shared_ptr y weak_ptr para gestionar vidas útiles.