C++26 elimina el clonado manual con std::polymorphic

Composite objects and C++26 the std:polymorphic type

Marius Bancila muestra cómo std::polymorphic, nuevo en C++26, permite que una clase con miembros polimórficos recupere la semántica de valor: copia profunda automática, const que se propaga y ausencia de estado nulo. Frente a unique_ptr más clone() virtual, que obliga a escribir las cinco funciones especiales y ensucia la interfaz, el tipo borra el tipo de la operación de copia en la construcción. El ejemplo: un registro de eventos de sensores que pasa de la Regla de Cinco a la Regla de Cero.

En resumen, el componente std::polymorphic vuelve a comportarse como un miembro normal: copiable, profundamente const y siempre presente, sin perder su tipo dinámico.

Más de este día

2026-10-21