Noticias que mencionan C++26

c++26: verifica la validez de objetos en tiempo de compilación

C++26 introduce `std::is_within_lifetime`, una nueva función para realizar comprobaciones de validez de objetos en tiempo de compilación. Esta función, incluida en el encabezado `<type_traits>`, determina si un puntero apunta a un objeto que está dentro de su vida útil durante la evaluación constant

C++26 corrige acceso a uniones, elimina riesgo de error

Una reciente aclaración en el estándar C++26, relacionada con el acceso a uniones, evita un posible comportamiento indefinido (UB). El problema surgió en un ejemplo del nuevo `std::is_within_lifetime`, que inicialmente parecía generar UB al acceder a un miembro inactivo de una unión (`c`) cuando el

C++26: Reflexión impacta el tiempo de compilación

Un desarrollador ha explorado el impacto en el tiempo de compilación de la nueva característica de reflexión de C++26 (C++26 Reflection). Los resultados iniciales indican que, aunque la propia característica de reflexión tiene un impacto mínimo en el tiempo de compilación, su uso conlleva una signif

C++26 elimina sintaxis de parámetros elípticos

C++26 introducirá un cambio para eliminar la sintaxis de parámetros elípticos sin una coma precedente, según un anuncio reciente en sandordargo.com. Esta medida, denominada jocosamente la 'coma Oxford variádica', busca mejorar la compatibilidad con el lenguaje C, reducir la confusión entre usuarios

Unity: La 'hack' de corrutinas revelada

Un artículo explora el uso de corrutinas en C++ y cómo Unity, en C#, ha implementado una solución ingeniosa debido a limitaciones históricas en el soporte de `await` en C#. Inicialmente, las corrutinas de C++ han sido poco utilizadas debido a su complejidad y la falta de ejemplos concretos. El artíc

C++26 finalizado: la actualización más grande desde C++11

La ISO C++ Committee ha finalizado el trabajo técnico de C++26 tras una reunión celebrada en Londres (Croydon, Reino Unido) el pasado sábado. Este hito marca la culminación de un proceso que involucró a aproximadamente 210 asistentes de 24 países, tanto presenciales (130) como remotos (80). C++26 se

Claude Code: Anthropic admite problemas con las cuotas

Usuarios de Anthropic Claude Code están experimentando un agotamiento de cuotas de uso significativamente más rápido de lo esperado, lo que interrumpe sus flujos de trabajo y genera quejas generalizadas. Anthropic ha reconocido el problema y lo ha priorizado para su investigación, atribuyéndolo a po

C++ 'freestanding': Lenguaje sin sistema operativo

El término 'freestanding' en C++ se refiere a una implementación del lenguaje que opera sin la dependencia de un sistema operativo (SO) 'hosted'. Esto es crucial en entornos restringidos como sistemas embebidos, kernels de SO o 'bare-metal' donde la asignación dinámica de memoria (heap), llamadas al

C++26: Reflexión y Seguridad en la Nueva Versión

El borrador final del estándar C++26 ha sido completado, según anunció Herb Sutter, experto en C++ y ex presidente del comité de estándares ISO C++. Esta nueva versión introduce cambios significativos que buscan modernizar y mejorar el lenguaje. Entre las novedades más destacadas se encuentra la imp

Domina la programación CUDA con los mejores libros del mercado

Esta lista curada reúne los mejores libros de programación CUDA, la plataforma de NVIDIA para computación paralela en GPUs. CUDA permite aprovechar la enorme capacidad de procesamiento paralelo de las tarjetas gráficas para tareas de alto rendimiento que antes requerían clusters costosos. La colecci

De Teletipo a C: La historia de los corchetes curvos

Los corchetes curvos { } en UNIX y C representan una evolución fascinante de la historia del software. El artículo explica cómo estos caracteres, esenciales en C para definir bloques de código, fueron originalmente imposibles de escribir en terminales antiguas como el Teletype Model 33, que no sopor

Mejoras de std::format en C++26: formateo de punteros, rutas, constexpr y más

El estándar C++26 incorpora una serie de mejoras a la biblioteca de formateo que simplifican tareas habituales y eliminan hacks heredados. Una de las novedades más simples es la adición de una sobrecarga de std::println sin argumentos, que imprime una línea en blanco en la consola y evita tener que

Borrado de tipos en C++26 con reflexión: la librería duck lo simplifica

La librería rjk::duck, publicada como un único header, aprovecha las anotaciones y la metaprogramación por reflexión introducidas en C++26 para implementar borrado de tipos sin la verbosidad habitual. En lugar de escribir a mano cientos de líneas de código propensas a errores —o recurrir a alternati

Interoperabilidad entre std::function y std::copyable_function en C++26

El estándar C++26 introduce std::copyable_function como sucesor de std::function, corrigiendo problemas históricos de diseño: una API sobredimensionada, una operator() const engañosa y excepciones por violaciones de precondición. Sin embargo, copyable_function sigue siendo interconvertible con std::

El idiom PImpl y el nuevo tipo std::indirect de C++26

El idiom PImpl (Pointer to Implementation) es una técnica de programación en C++ que consiste en ocultar los detalles de implementación de una clase tras un puntero opaco a una clase interna definida en el archivo .cpp. Su objetivo es separar interfaz e implementación y reducir las dependencias en t

Un bitset mejorado como alternativa a los enum flags en C++

El lenguaje C++ ha apostado durante años por las enumeraciones con operadores bitwise para representar banderas (bitflags), un patrón habitual en C y replicado en otros lenguajes. La propuesta P4313, basada en la reflexión de C++26, define cómo activar esa sintaxis sobre un enum, pero su autor sosti

C++26 elimina el veto al constexpr en la herencia virtual

C++26 da un paso más en la trayectoria de expansión de constexpr, la palabra clave que permite evaluar expresiones en tiempo de compilación. La propuesta P3533R2, autoría de Hana Dusíková, levanta una de las últimas restricciones sintácticas: la prohibición de declarar constexpr los constructores y

C++26 reduce el comportamiento indefinido en el núcleo del lenguaje

C++26 marca un avance significativo en seguridad del lenguaje. El comité ha abordado la reducción del comportamiento indefinido (UB) tanto en el núcleo del lenguaje como en la biblioteca estándar. La propuesta P3144R2 convierte en error de compilación la eliminación de un puntero a un tipo incomplet

std::hive de C++26: más rápido que list, pero no reemplaza a vector

std::hive, el nuevo contenedor que incorpora el estándar C++26, ocupa un espacio intermedio entre std::vector y std::list. Como un vector, almacena sus elementos en bloques contiguos de memoria, lo que permite recorrerlos sin saltar entre punteros; como una lista, nunca mueve un elemento tras insert

#embed en C++26: cómo incrustar binarios sin herramientas externas

C++26 incorpora #embed, una directiva de preprocesador que permite incrustar el contenido de un archivo binario —imágenes, certificados, configuraciones por defecto— directamente en el código fuente como una secuencia de expresiones constantes enteras, sin recurrir a herramientas externas como xxd,

Análisis de estrategias push y pull para la personalización en C++26

Este artículo técnico examina las limitaciones de las anotaciones basadas en extracción (pull-based) frente a las basadas en inyección (push-based) para la personalización de código en C++26. El autor argumenta que, aunque las especializaciones parciales funcionan en la mayoría de los casos, generan

C++26 define bucles infinitos triviales como comportamiento definido

C++26 corrige una ambigüedad en el estándar que clasificaba como comportamiento indefinido (UB) los bucles infinitos triviales, como `while (true);`. Esta modificación, respaldada por la propuesta P2809R3, establece que estos bucles son ahora bien definidos, lo que impide que los compiladores los op