Memoria y Recursos
Domina el modelo de propiedad de C++ — desde punteros crudos hasta punteros inteligentes y semantica de movimiento — para escribir codigo que nunca tiene fugas.
Punteros y Referencias
Punteros: Direcciones, Desreferencia y Aritmetica
Comprende los punteros como direcciones de memoria, aprende los operadores de direccion y desreferencia, la aritmetica de punteros dentro de arrays, la correccion const con punteros, y cuando los punteros crudos aun son apropiados en C++ moderno.
Referencias: Lvalue, Rvalue y Trampas
Explora las referencias lvalue y rvalue, comprende las categorias de valor de C++, aprende las reglas de colapso de referencias y las referencias de reenvio, y evita los errores de referencias colgantes.
Memoria Dinamica: new, delete y Sus Peligros
Aprende como funciona la asignacion dinamica con new y delete, comprende los peligros de las fugas de memoria, doble liberacion y uso despues de liberar, y descubre por que el C++ moderno no deberia contener ningun new/delete crudo.
Punteros Inteligentes (Smart Pointers)
std::unique_ptr: Propiedad Exclusiva
Aprende como std::unique_ptr proporciona propiedad exclusiva sin sobrecarga, como usar make_unique, deleters personalizados para recursos C, y patrones de funciones fabrica.
shared_ptr, weak_ptr y Grafos de Propiedad
Comprende la propiedad compartida con conteo de referencias con shared_ptr, rompe ciclos con weak_ptr, aprende sobre bloques de control y aliasing, y sabe cuando shared_ptr es la eleccion incorrecta.
Semantica de Movimiento y RAII
Semantica de Movimiento: Transferencia de Recursos sin Copia
Domina la semantica de movimiento de C++11 — constructores de movimiento, asignacion por movimiento, std::move, y por que el movimiento deja los objetos en un estado valido-pero-no-especificado.
RAII y la Regla de Cero/Cinco
Comprende RAII (la Adquisicion de Recursos Es Inicializacion) como el patron central de gestion de recursos de C++, la Regla de Cinco para clases que gestionan recursos, y la Regla de Cero para el resto.
Reenvio Perfecto y std::forward
Comprende por que las funciones wrapper pierden la categoria de valor, como std::forward la preserva, y el patron idiomatico de reenvio perfecto para plantillas.