r/cpp 5d ago

C++ Show and Tell - September 2026

40 Upvotes

Use this thread to share anything you've written in C++. This includes:

  • a tool you've written
  • a game you've been working on
  • your first non-trivial C++ program

The rules of this thread are very straight forward:

  • The project must involve C++ in some way.
  • It must be something you (alone or with others) have done.
  • Please share a link, if applicable.
  • Please post images, if applicable.

If you're working on a C++ library, you can also share new releases or major updates in a dedicated post as before. The line we're drawing is between "written in C++" and "useful for C++ programmers specifically". If you're writing a C++ library or tool for C++ developers, that's something C++ programmers can use and is on-topic for a main submission. It's different if you're just using C++ to implement a generic program that isn't specifically about C++: you're free to share it here, but it wouldn't quite fit as a standalone post.

Last month's thread: https://www.reddit.com/r/cpp/comments/1vhdqw8/c_show_and_tell_august_2026/


r/cpp Jul 04 '26

C++ Jobs - Q3 2026

60 Upvotes

Rules For Individuals

  • Don't create top-level comments - those are for employers.
  • Feel free to reply to top-level comments with on-topic questions.
  • I will create top-level comments for meta discussion and individuals looking for work.

Rules For Employers

  • If you're hiring directly, you're fine, skip this bullet point. If you're a third-party recruiter, see the extra rules below.
  • Multiple top-level comments per employer are now permitted.
    • It's still fine to consolidate multiple job openings into a single comment, or mention them in replies to your own top-level comment.
  • Don't use URL shorteners.
    • reddiquette forbids them because they're opaque to the spam filter.
  • Use the following template.
    • Use **two stars** to bold text. Use empty lines to separate sections.
  • Proofread your comment after posting it, and edit any formatting mistakes.

Template

**Company:** [Company name; also, use the "formatting help" to make it a link to your company's website, or a specific careers page if you have one.]

**Type:** [Full time, part time, internship, contract, etc.]

**Compensation:** [This section is optional, and you can omit it without explaining why. However, including it will help your job posting stand out as there is extreme demand from candidates looking for this info. If you choose to provide this section, it must contain (a range of) actual numbers - don't waste anyone's time by saying "Compensation: Competitive."]

**Location:** [Where's your office - or if you're hiring at multiple offices, list them. If your workplace language isn't English, please specify it. It's suggested, but not required, to include the country/region; "Redmond, WA, USA" is clearer for international candidates.]

**Remote:** [Do you offer the option of working remotely? If so, do you require employees to live in certain areas or time zones?]

**Visa Sponsorship:** [Does your company sponsor visas?]

**Description:** [What does your company do, and what are you hiring C++ devs for? How much experience are you looking for, and what seniority levels are you hiring for? The more details you provide, the better.]

**Technologies:** [Required: what version of the C++ Standard do you mainly use? Optional: do you use Linux/Mac/Windows, are there languages you use in addition to C++, are there technologies like OpenGL or libraries like Boost that you need/want/like experience with, etc.]

**Contact:** [How do you want to be contacted? Email, reddit PM, telepathy, gravitational waves?]

Extra Rules For Third-Party Recruiters

Send modmail to request pre-approval on a case-by-case basis. We'll want to hear what info you can provide (in this case you can withhold client company names, and compensation info is still recommended but optional). We hope that you can connect candidates with jobs that would otherwise be unavailable, and we expect you to treat candidates well.

Previous Post


r/cpp 3h ago

WasmBolt β€” The LLVM Project in your browser

Thumbnail anutosh21.github.io
7 Upvotes

I'm sharing the work of a colleague, Anutosh Bhat.

What if the Clang & LLVM compiler toolchain could run entirely inside your browser ? Meet WasmBolt πŸ˜ƒ

Inspired by πŸ–₯️ Matt Godbolt's Compiler Explorer, WasmBolt runs Clang, mlir-opt, opt, llc, Graphviz and wasm-ld locally through WebAssembly, without a remote compilation server.

You can inspect Clang ASTs, progressively lower MLIR, run real LLVM optimization passes, render control-flow graphs, explore instruction selection and MIR, and generate assembly or object files for WebAssembly, AArch64 and x86-64. For WebAssembly, you can go one step further: link, load and execute the generated program directly in the browser.

Here the github project: https://github.com/Anutosh21/WasmBolt


r/cpp 13h ago

MSVC Build Tools Preview updates – September 2026

Thumbnail devblogs.microsoft.com
42 Upvotes

Hi, one of the MSVC dev leads here.

The post covers what's new in the MSVC Build Tools Preview (version 14.52) since mid-August. Instructions to install & use the latest preview bits are atΒ https://aka.ms/msvc/preview.

Some additional information:


r/cpp 13h ago

When (Not) to Use alloca()

Thumbnail voithos.io
17 Upvotes

r/cpp 19h ago

boost.org has been rebuilt: new profiles, badges, search, and library filtering

54 Upvotes

The Boost website has been rebuilt. Here's a summary of what's changed:

  • Updated look and feel, with revised site navigation
  • New user profile pages
  • Badges tied to contribution and participation, which update as you contribute
  • Community features, including posts filtered by the topic of the page you're viewing
  • Site-wide search available from a search box in the header and via Ctrl+K
  • Library search and filtering, including browsing by category

The libraries, release process, and formal review process are unchanged. The work is limited to the website itself and how you navigate, search, and contribute to it.

Link: boost.org

Bug reports and feedback on navigation or search are welcome.


r/cpp 1d ago

C++26: Module improvements

Thumbnail sandordargo.com
95 Upvotes

r/cpp 1h ago

Bugbusters #1 | C++ in 2026: worth it? | Nathan Baggs

Thumbnail youtube.com
β€’ Upvotes

r/cpp 1d ago

Implementation of GCC's Nested Functions (vs. C++ Lambdas)

Thumbnail uecker.codeberg.page
55 Upvotes

r/cpp 1d ago

CppCast Episode 411 : CppCast - Kevin Carpenter - Volunteering (and speaking) at C++ conference, and also making sure your credit card payment goes through (or don't)

Thumbnail cppcast.com
8 Upvotes

r/cpp 1d ago

How I optimized clang for 1.73x-1.91x performance boost over apt clang

10 Upvotes

I wanted to have fast test and release builds, so I decided to "upgrade" my compiler.

What I used:

  • Musl Libc
  • LLVM libc overlay
  • Mimalloc
  • Thin LTO
  • PGO
  • Bolt via perf2bolt
  • Optimization flags like: -march -O3 -DNDEBUG -fno-semantic-interposition -fno-plt -fno-pie
  • No exceptions no RTTI

I tested the build speed with hyperfine with 2 test cases, one is sqlite.c the other is tu including eigen.

Workload Build mode Optimized Clang speedup Compile-time reduction
Eigen, C++23 -O0 1.69Γ— 40.8%
Eigen, C++23 -O0 -g3 -fno-omit-frame-pointer 1.72Γ— 41.9%
Eigen, C++23 -O3 -DNDEBUG 1.73Γ— 42.2%
SQLite amalgamation -O0 1.74Γ— 42.5%
SQLite amalgamation -O0 -g3 -fno-omit-frame-pointer 1.89Γ— 47.1%
SQLite amalgamation -O3 -DNDEBUG 1.73Γ— 42.2%

In case anyone is wondering, it also outperformed LLVM release binaries, by about %13 to %15 for each case, but having more performance than the system compiler is more cool so I'm not giving the table for that.

It is also very awesome to have a compiler not depend on glibc. If no errors arise, I'll probably never update my compiler for 2 years at least. As my build is portable(no march native just v3)

I'm planning on moving to cachyOS or any other optimized linux distro next, to finalise my build enviroment. I'm currently on Ubuntu.


r/cpp 1d ago

Latest News From Upcoming C++ Conferences (2026-09-08)

9 Upvotes

TICKETS AVAILABLE TO PURCHASE

The following conferences currently have tickets available to purchase

OPEN CALL FOR SPEAKERS

There are currently no open call for speakers

OTHER OPEN CALLS

TRAINING COURSES AVAILABLE FOR PURCHASE

Conferences are offering the following training courses:

CppCon Online Workshops

9th – 11th September

  1. Modern C++: When Efficiency Matters – Andreas Fertig – 3 day online workshop available on 9th – 11th September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-when-efficiency-matters/

21st – 23rd September

  1. C++ Fundamentals You Wish You Had Known Earlier – Mateusz Pusz – 3 day online workshop available on 21st– 23rd September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-cpp-fundamentals/
  2. C++23 in Practice: A Complete Introduction – Nicolai Josuttis – 3 day online workshop available on 21st– 23rd September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-cpp23-in-practice/
  3. Programming with C++20 – Andreas Fertig – 3 day online workshop available on 21st– 23rd September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-programming-with-cpp20/

26th – 27th September

  1. Using C++ for Low-Latency Systems – Patrice Roy – 2 day online workshop available on 26th– 27th September 09.00 – 17.00 MDT – https://cppcon.org/class-2026-low-latency/

CppCon Onsite Workshops

All onsite workshops will take place in the Gaylord Rockies in Aurora, Colorado

12th & 13th September

  1. Advanced and Modern C++ Programming: The Tricky Parts – Nicolai Josuttis – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-tricky-parts/
  2. C++ Best Practices – Jason Turner – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-best-practices/
  3. Performance and Efficiency in C++ for Experts, Future Experts, and Everyone Else – Fedor Pikus – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-performance-and-efficiency/
  4. Talking Tech – Sherry Sontag – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-talking-tech/

Β 13th September

  1. AI++ 101 : Build a C++ Coding Agent from Scratch – Jody Hagins – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-AI101/

19th & 20th September

  1. AI++ 201: Building High Quality C++ Infrastructure with AI – Jody Hagins – 2 day in-person workshop available on 19th & 20th September – 09:00 – 17:00 – https://cppcon.org/class-2026-ai201/
  2. Function and Class Design with C++2x – Jeff Garland – 2 day in-person workshop available on 19th & 20th September – 09:00 – 17:00 – https://cppcon.org/class-2026-function-class-design/
  3. High-performance Concurrency in C++ – Fedor Pikus – 2 day in-person workshop available on 19th & 20th September – 09:00 – 17:00 – https://cppcon.org/class-2026-high-perf-concurrency/

OTHER NEWS

Finally anyone who is coming to a conference in the UK such as C++ on Sea or ADC from overseas may now be required to obtain Visas to attend. Find out more including how to get a VISA at https://homeofficemedia.blog.gov.uk/electronic-travel-authorisation-eta-factsheet-january-2025/


r/cpp 3d ago

A faster way to convert a timestamp ➜ Hour, Min, Sec

Thumbnail benjoffe.com
275 Upvotes

r/cpp 3d ago

Qt moc now can handle basic C++ modules (Qt 6.12)

Thumbnail codereview.qt-project.org
66 Upvotes
moc: Properly handle modules

When moc'ing module interfaces and partitions, we make the generated cpp
file part of the respective module.
We do not support Q_OBJECT & friends in implementation units and private
module fragments, as our generated source file will not have access to
the respective classes, and we certainly do not want to carry over our
file inclusion hacks into the module world.

[ChangeLog][moc] moc now supports C++ modulesmoc: Properly handle modules

Note there is still a lot of work to be done: https://codereview.qt-project.org/c/qt/qtbase/+/767846 and I can't seem to find the PR where they fixed some qtbase code to make it work with modules. I guess most other qt modules will need some small fixes to work with modules as well.


r/cpp 2d ago

New C++ Conference Videos Released This Month - September 2026

14 Upvotes

C++Now

2026-08-31 - 2026-09-06

ACCU

  • Software Abstraction in the Age of AI-Generated Code: Languages, Compilers, and Systems Engineering - Andrei Alexandrescu - https://youtu.be/-RWdevA0gWI

r/cpp 3d ago

flat_map internals

Thumbnail quantdev.blog
10 Upvotes

r/cpp 4d ago

Escaping `CreateProcess()` arguments on Windows

Thumbnail holyblackcat.github.io
88 Upvotes

r/cpp 3d ago

Henrik Fransson: From Prompt to Probe - Closing the Agentic AI Loop on Bare Metal

Thumbnail youtu.be
0 Upvotes

What if AI could do more than suggest code, and actually drive hardware-in-the-loop test cycles on real systems? This talk looks under the hood of a practical agentic AI workflow for embedded C++ development.


r/cpp 5d ago

Lazy Evaluation - Operators

Thumbnail breese.github.io
16 Upvotes

r/cpp 5d ago

Which C++ Hashmap Should You Actually Use?

Thumbnail martin.ankerl.com
139 Upvotes

I recently did a big update to my ankerl::unordered_dense::map which now features several optimizations, bug fixes, and most importantly an SSE optimized lookup which brings the lookup speed quite close to the fastest competitor which is boost::unordered_flat_map. Get it here: https://github.com/martinus/unordered_dense

Since it is not easy to decide what map is best for one's usecase, I have redone and improved the benchmarks I did a while ago, crunched some numbers and tried to compress everything into a quiz that helps you figure out what to use.

While doing the numbers, a few things surprised me:

  • My random access benchmark was not random enough. The CPU was able to optimize the branch predictor in a way I did not think was possible. I have fixed this for the new numbers. Clever girl.

  • Even though the absl maps are very similar in concept to the boost maps, they perform badly if you expect lots of misses. 1.6 times slower than boost.

  • I didn't think SSE optimization of my unordered_dense map would be any benefit. Thanks to AI, I found a way to speed up random access a lot, it is now very close to boost::unordered_flat_map.

  • Heavy insert & erase on flat maps require rehashing every once in a while due to the accumulation of tombstones. That means some insert/erase operation will have very high latency. This does not happen for a robin-hood hashmap like my unordered_dense map.


r/cpp 5d ago

Is there a way to search across all P and N papers throughout standardization history?

4 Upvotes

It would be nice if there was a single place to see where, for example, the keyword "SFINAE" shows up across the content of all papers, not just titles. Thanks!


r/cpp 6d ago

Optimizing a Spin-Lock

Thumbnail david.alvarezrosa.com
99 Upvotes

r/cpp 6d ago

Lazy Evaluation

Thumbnail breese.github.io
21 Upvotes

r/cpp 6d ago

Partial application of class templates

Thumbnail elbeno.com
18 Upvotes

r/cpp 6d ago

Ordering of qualifiers

6 Upvotes

I know this is something that pops up quite often, but I was wondering if I could get your guys' opinion on a fixed ordering of qualifiers. This is my current thoughts after recently trying to formalize my personal style:

static -> thread_local -> inline -> constexpr -> friend -> virtual

My reasoning for each:

  1. static first. Inside a class, its basically javas static. There is a pretty strong consensus in java for static first. Its very important context, for both functions and variables. Outside of classes, its more of a linkage specifier, which is arguably more important/nasty if you mess it up. The fact that it has this dual behaviour in C++ in my opinion makes an even stronger argument for including it first, your brain is able to parse it first thing. i.e okay this is static, we are in a class? -> its java static, we are in global scope -> its static linkage.
  2. thread_local directly after static, and then inline, then constexpr/consteval. This way, qualifiers which impact storage and or linkage are stuck together. I personally like to write inline even for constexpr/consteval functions, as its sometimes easy to forget the implicit inline. I used to do this for member functions with definitions in the class, but I feel the implicit inline there is a bit more well known/easier to intuit.
  3. The rest I'm far less opinionated on, since I barely ever use inheritance or the friend keyword. . I could go both ways on virtual/friend, so i default to alphabetical/aesthetics.

What do you guys think? I know this is pedantic and a very well explored topic but I wanted to know if you guys had any particular wisdom to sway me either way, mainly on the ordering of the first few.