La biblioteca estándar de C++ se retracta desde hace quince años, con pruebas públicas

Fuentes: The C++ Standard Library Has Been Walking Itself Back for Fifteen Years, and the Receipts Are Public
Imagen generada por IA con el prompt: Editorial illustration: a timeline of C++ standard books being erased and rewritten, with deprecation stamps, no text, abstract style, clean background.
Imagen generada con IA

La biblioteca estándar de C++ acumula quince años de retractaciones formales e informales sobre sus propias características, según un análisis publicado el 23 de mayo de 2026. El artículo, que cita una entrada de Sandor Dargo sobre std::copyable_function, cataloga las funciones y componentes que el comité de estándares ha ido deprecando y reemplazando desde C++11. Entre los ejemplos se encuentran std::auto_ptr, eliminado en C++17; las especificaciones dinámicas de excepciones, reemplazadas por noexcept; std::iterator, deprecado en C++17; std::aligned_storage y std::aligned_union, deprecados en C++23; y la interfaz de recolección de basura de C++11, que nunca llegó a funcionar y fue retirada en C++23. std::function, introducido en C++11, ha sido marcado como legado. El artículo distingue tres niveles: retractaciones formales documentadas en propuestas (como N4190, P0003R5, P1413R3, P2186R2); las que todo el mundo sabe que deben evitarse pero no están formalizadas; y los contenedores que no pueden corregirse sin romper la compatibilidad binaria (ABI). Respecto a estos últimos, se menciona un benchmark que midió una latencia 58 veces mayor en C++ frente a Rust debido a tres contenedores. La pieza sostiene que el patrón de retractación es tan consistente que merece un catálogo propio con números de propuesta.