Hacker News with Generative AI: C++

LibEventCpp – a lightweight single-header library for Event-driven Programming (github.com/nguyenchiemminhvu)
LibEventCpp is a lightweight and portable C++14 library designed for handling events efficiently.
ODB C++ ORM version 2.5.0 released (codesynthesis.com)
We have released ODB version 2.5.0.
Children discuss constexpr in C++ [video] (youtube.com)
Sony Proposes Changing LLVM Clang Default to C++20 Mode (phoronix.com)
Sony engineers are proposing that the LLVM Clang compiler changes its default C++ mode from C++17 to C++20.
Cannonball: An enhanced OutRun engine (github.com/djyt)
CannonBall is an souped up game engine for the OutRun arcade game. The original 68000 and Z80 assembler code has been rewritten in C++. This makes it possible to make improvements suitable for modern platforms, including a higher frame-rate and widescreen support. It requires the original ROMs, as these contain elements including the graphics and audio data.
Shaman: Evaluate the numerical accuracy of a C++ application and locate sources (gitlab.com)
Evaluate the numerical accuracy of an application.
C++26: A Placeholder with No Name (sandordargo.com)
Let’s continue exploring C++26. In this post, we are going to discuss a core language feature proposed by Corentin Jabot and Micheal Park in P2169R4. With the new standard we get a cool unnamed placeholder.
Swift for C++ Practitioners: Move Semantics (douggregor.net)
Since their introduction in C++11, move semantics have been an integral part of programming in C++. Move semantics are implemented in C++ with rvalue references, which express the idea that the entity they refer to is temporary in nature (an rvalue in programming language speak) and effectively won't be used again later.
Optimizing uint64_t Digit Counting: A Method that Beats Lemire's by up to 143% (github.com/RealTimeChris)
Parallel-hashmap: drop-in replacement for unordered_map, unordered_set (github.com/greg7mdp)
This repository aims to provide a set of excellent hash map implementations, as well as a btree alternative to std::map and std::set, with the following characteristics:
Expressive Vector Engine – SIMD in C++ (github.com/jfalcou)
EVE is a re-implementation of the old EVE SIMD library by Falcou et al. which for a while was named Boost.SIMD. It's a C++20 and onward implementation of a type based wrapper around SIMD extensions sets for most current architectures. It aims at showing how C++20 can be used to design and implement efficient, low level, high abstraction library suited for high performance.
The existential threat against C++ – NDC TechTown 2024 [video] (youtube.com)
Size Optimization Tricks (2022) (justine.lol)
This blog post will cover some of the tricks I've used in the past to make c / c++ / python binaries smaller using x86 assembly.
Learning to Write Less Slow C, C++, and Assembly Code (github.com/ashvardanian)
Learning how to write "Less Slow" code in C++20, from numerical micro-kernels and SIMD to coroutines, ranges, and polymorphic state machines
Agner Fog's Software Optimization Resources (agner.org)
This series of five manuals describes everything you need to know about optimizing code for x86 and x86-64 family microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of most Intel, AMD and VIA processors, and details about different compilers and calling conventions.
Skipping Boring Functions in Debuggers (maskray.me)
In debuggers, stepping into a function with arguments that involve function calls may step into the nested function calls, even if they are simple and uninteresting, such as those found in the C++ STL.
How DLang Improves My Modern C++ and Vice Versa [video] (youtube.com)
Court is in session: Top most notorious C and C++ errors in 2024 (pvs-studio.com)
Every year, we witness the same drama: bugs wreak havoc on our code as if asserting their dominance. But today, the tide turns—it's time for judgment. Let's dive into the most intriguing bugs we've uncovered this year.
Not So Modern C++ (polymonster.co.uk)
There have been a lot of changes and additions to the c++ standard since I started using c++ in the early 2000’s, the language itself has started to look quite different. Yet I am still using a very stripped down subset of c++ actually more c-style and only reaching for c++ and modern c++ with careful consideration. Why is this?
Simpler and faster parsing code with std:views:split (lemire.me)
Parsing text files is often confusing irrespective of your programming language. It can also be surprising slow.
Symbolic Execution by Overloading __bool__ (philipzucker.com)
A few months ago I saw a talk on buildit, https://buildit.so/ a really neat project that achieves staged metaprogramming as a C++ library. I love the central tenets of being in a mainstream language and not requiring a modified compiler. Right on, brother. One thing I came away with was a neat trick for getting non-overloadable syntax to be overloadable.
C++ is an absolute blast (learncodethehardway.com)
I want you to ask yourself an honest question. When was the last time you actually had fun in programming?
Ask HN: Are any other languages as big as C++? (ycombinator.com)
I've been relearning C++ over the last week and it seems absolutely massive. Do any other languages come close to its size?
Binfuse: C++ library for binary fuse filters, including a sharded filter (github.com/oschonrock)
Binary fuse filters are a recent (2022) development in the group of Approximate Membership Query filters
Botan: Crypto and TLS for Modern C++ (github.com/randombit)
Botan (Japanese for peony flower) is a C++ cryptography library released under the permissive Simplified BSD license.
Show HN: Brisk – Cross-Platform C++ GUI Framework: Declarative, Reactive, Fast (github.com/brisklib)
Brisk is a modern, cross-platform C++ GUI framework designed to build responsive, high-performance applications with flexibility and ease.
If constexpr requires requires { requires } in C++ (think-cell.com)
Probably the two most useful features added to C++20 are requires and requires. They make it so much easier to control overload resolution, and when combined with if constexpr in C++17, they allow basic reflection-based optimizations in templates.
Includeable minimal operating system for C++ (includeos.org)
IncludeOS allows you to run your application in the cloud without an operating system. IncludeOS adds operating system functionality to your application allowing you to create performant, secure and resource efficient virtual machines.
Introduction to Wait-free Algorithms in C++ Programming [video] (youtube.com)
Fast LLM Inference From Scratch (using CUDA) (andrewkchan.dev)
This post is about building an LLM inference engine using C++ and CUDA from scratch without libraries.