Noticias que mencionan C17

C++17: Optimiza el acceso concurrente con shared_mutex

Este artículo explica `std::shared_mutex`, una herramienta valiosa introducida en C++17 que optimiza el acceso concurrente a datos compartidos, especialmente en escenarios de lectura intensiva. Comienza con un ejemplo básico: un contador que se incrementa y se lee por múltiples hilos, utilizando `st

C++ se inspira en Lisp: nueva herramienta de programación

El proyecto `lmp` (Lisp-style Meta Programming) de Mistivia en GitHub introduce una forma innovadora de realizar programación meta (template metaprogramming) en C++ que se inspira en el paradigma funcional de Lisp. La programación meta en C++ permite escribir código que genera o manipula otro código

IA local: AMD lanza GAIA, framework de código abierto

AMD ha presentado GAIA, un nuevo framework de código abierto que permite a los usuarios crear y ejecutar agentes de inteligencia artificial directamente en sus dispositivos locales, sin necesidad de conexión a la nube. Desarrollado en Python y C++, GAIA ofrece un SDK completo en ambos lenguajes y es

MCD Binario: Alternativa Eficiente al Algoritmo Clásico

El Algoritmo Binario del MCD (Máximo Común Divisor) es una alternativa al algoritmo de Euclides para calcular el MCD de dos números enteros. Aunque ambos tienen una complejidad logarítmica (el tiempo de ejecución crece lentamente a medida que aumentan los números), el algoritmo binario puede ser sig

PlanB: Nueva Biblioteca Acelera Enrutamiento IPv6

Un nuevo desarrollador ha creado una biblioteca de código abierto llamada `planb-lpm` que mejora significativamente la eficiencia del enrutamiento IPv6. Basada en un algoritmo publicado recientemente (PlanB) y reimplementada en C++17, la biblioteca utiliza un árbol B+ linealizado con AVX-512 SIMD pa

C vs C++: ¿Qué constructos no funcionan?

Este artículo de Josh Lospinoso, actualizado en 2026, aborda una cuestión crucial para desarrolladores que trabajan con C y C++: la incompatibilidad entre ambos lenguajes. Contrario a la creencia popular, C++ no es un superconjunto de C, lo que significa que ciertos constructos válidos en C pueden n

C vs C++: ¿Qué constructos no funcionan?

Este artículo de Josh Lospinoso, actualizado en 2026, aborda una cuestión crucial para desarrolladores que trabajan con C y C++: la incompatibilidad entre ambos lenguajes. Contrario a la creencia popular, C++ no es un superconjunto de C, lo que significa que ciertos constructos válidos en C pueden n

Cómo C++20 simplificó el bucle for con inicializador

El estándar C++20 introdujo una pequeña mejora sintáctica que acerca la forma de escribir bucles for en C++ a la de lenguajes como Python o Lua: la posibilidad de declarar variables en el propio encabezado del range-based for. Hasta C++17, recorrer un contenedor conservando el índice del elemento ex

Pruebas unitarias automatizadas en C++: variables inline y módulos

Este artículo cierra una serie de dos entregas sobre un marco minimalista de pruebas unitarias en C++ distribuido en un único archivo de cabecera. Tras presentar el mecanismo básico basado en macros (test_, fail_, throw_ y nothrow_) en la primera parte, el autor aborda dos problemas pendientes: la v

Delaunay32: triangulación de Delaunay 2D rápida y paralela en C++

Delaunay32 es una biblioteca en C++17 para calcular la triangulación de Delaunay de conjuntos de puntos en dos dimensiones. Está pensada para datos ya discretos o que admitan una cuantificación uniforme de alta resolución, como píxeles, muestras de rásters, proyecciones de vóxeles, geometría de punt

Notas técnicas sobre dos problemas de programación competitiva

Este artículo analiza la resolución de dos ejercicios clásicos de programación competitiva. El primero, identificado como Zero Path (Codeforces 1695C), trabaja sobre una rejilla de valores +1 y -1 y plantea si existe un camino monótono de la esquina superior izquierda a la inferior derecha cuya suma

C++: cómo evitar la ejecución de funciones antes de su uso

El artículo explica la práctica de la inicialización lenta en C++ para optimizar el rendimiento. El problema principal es que la función `std::optional<int>::value_or()` evalúa sus argumentos antes de llamar a la función, lo que provoca la ejecución de `complex_computation()` incluso si el valor est

Cómo evitar std::move en C++ y aun así mover objetos

Mover objetos en C++ rara vez exige escribir std::move de forma explícita: el propio lenguaje y el compilador ya se encargan en la mayoría de los casos, y recurrir a movimientos manuales solo cuando hace falta produce código más limpio y, en ocasiones, más rápido. La técnica preferible es la elisión