SEMANA 2
Gestión Eficiente de Objetos en Vectores Dinámicos con STL en C++: Técnicas para la Eliminación y Manejo Seguro

Investigación sobre cómo manipular y eliminar objetos dentro de vectores dinámicos usando las herramientas estándar de C++. Se aplicó el patrón erase-remove para filtrar elementos bajo condiciones específicas, mostrando ejemplos reales y optimización de memoria
RESUMEN BREVE :
Herramientas usadas:
-
Lenguaje: C++
-
Librerías: STL (vector, algorithm)
-
IDE: Dev C++
-
Formato del informe: IEEE-pdf
"Gestión de Vectores de Objetos en C++ con STL y la técnica erase-remove"
¿Por qué es importante este tema?
Cuando desarrollamos programas en C++, muchas veces necesitamos trabajar con colecciones dinámicas de objetos, como empleados, productos o estudiantes.
Para eso, usamos la STL (Standard Template Library), y específicamente el contenedor vector, que nos permite agregar, modificar y eliminar elementos dinámicamente.
Pero, eliminar objetos del vector puede volverse problemático, especialmente cuando se hace mientras lo recorremos. Ahí entra la técnica erase-remove, que soluciona este problema de forma elegante y segura.
¿Qué es un vector en C++?
-
Es una estructura dinámica que forma parte de la STL.
-
Se comporta como un arreglo, pero con tamaño variable.
-
Sintaxis: std::vector<Tipo>
-
Permite almacenar objetos de una clase y acceder a ellos por índices.
¿Qué es STL?
La STL (Standard Template Library) es una colección de clases y funciones para trabajar con estructuras de datos y algoritmos genéricos.
Incluye
-
Contenedores como vector, list, set, map.
-
Algoritmos como sort, find, remove_if, etc.
-
Iteradores para recorrer y manipular estructuras.
¿Por qué necesitamos erase-remove?
Supongamos que tenemos un vector con objetos y queremos eliminar algunos según una condición.
Si lo hacemos mal (por ejemplo, dentro de un bucle), podemos corromper el iterador o dejar elementos sin eliminar.
La técnica erase-remove es una combinación segura que evita estos errores:
-
remove_if: mueve los elementos a eliminar al final del vector.
-
erase: borra físicamente esos elementos del contenedor.
Codificación
link de drive(sobre la codificación ):
link drive: //general: https://drive.google.com/drive/folders/1Co_2x5-bD-XiZLj0fy-Y7izgqmxozGcj?usp=sharing
link drive:(en ejemplo 1iv y ejemplo 2iv) //expo https://drive.google.com/drive/folders/1Co_2x5-bD-XiZLj0fy-Y7izgqmxozGcj?usp=sharing


Opinión personal:
"Este proyecto me ayudó a entender cómo aplicar programación orientada a objetos de forma eficiente usando STL. Aprendí a manipular y filtrar datos complejos con elegancia y rendimiento."
Algunas Referencias
La gestión de vectores de objetos en C++ y la eliminación segura de objetos requieren una comprensión tanto de las funcionalidades de la STL como de los principios de la gestión de memoria en C++. Las referencias mencionadas proporcionan una base sólida para abordar este tema en tus proyectos de desarrollo con Dev C++.