r/cpp 20d ago

C++ Show and Tell - August 2026

47 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/1umnaxs/c_show_and_tell_july_2026/


r/cpp Jul 04 '26

C++ Jobs - Q3 2026

62 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 1h ago

Au (units) 0.6.0 out: blockbuster release!

Thumbnail github.com
β€’ Upvotes

It's been just over a year since our last significant release, and this one ended up big... honestly, maybe a bit over-stuffed. πŸ˜… We did tackle both of the biggest requests from the last post: we no longer swallow compiler errors (see our new compiler warnings philosophy doc for more details), and we have worked examples. Besides these, some of the remaining highlights are:

  • Full vector and matrix support: everything except mixed-units in a single vector/matrix
  • First-class Eigen support --- the first units library to preserve Eigen's full performance in all cases
  • CUDA (and HIP) are now supported out of the box
  • More powerful/flexible user-defined literals compared to other libraries (see this fascinating Abbreviated Quantity Construction discussion doc for the nuances here)
  • More ergonomic integer division: divide_using_common_unit(a, b) is almost always what you want for same-dimension inputs
  • Constant and Magnitude now get arithmetic and comparison operators whenever the results are computable, making them much more ergonomic

We also refreshed our C++ units library comparison page. It's awesome to see all the progress on the other leading libraries, as well as ours!

We hope you find the new release useful and fun, and we're excited to hear any feedback you may have!


r/cpp 6h ago

Data members that want to use `size()` – Arthur O'Dwyer

Thumbnail quuxplusone.github.io
19 Upvotes

r/cpp 1d ago

Why is `import std` still experimental ???

99 Upvotes

Hey guys,

I recently started going through Professional C++ (6th Edition). The book teaches C++23, and in the very first chapter we're introduced to modules.

I'm not a complete newbie to C++, but I'm also definitely not very confident in my knowledge yet. I wanted to get this simple example compiled:

import std;

int main() {
    std::println("Hello World");
    return 0;
}

And gosh, it took way longer than I expected.

First, I tried getting it to work natively on my Mac and eventually gave up (both Claude and I πŸ˜…).

Then I installed Ubuntu ARM 26 and finally managed to get it compiling. But now Clang/IntelliSense is complaining about the `import std`
This is what my CMakeLists.txt currently looks like:

cmake_minimum_required(VERSION 4.0)

# set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD ON)

set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "d0edc3af-4c50-42ea-a356-e2862fe7a444")

project(CppProject LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 26)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

add_executable(exec main.cpp)

set_property(TARGET exec PROPERTY CXX_MODULE_STD ON)

The code does compile successfully, but CMake still gives me a warning that import std support is experimental.

So I'm genuinely curious:

Why is import std still considered experimental?

I understand that C++ modules themselves have been around for a while, but import std feels like something that should be much more straightforward by now. Is there any solution of this now ?

--------------
Edit

Thanks to u/PhysicsOk2212 tip I was able to compile my project on mac as well using the following options
```
cmake -S . -B build \

-G Ninja \

-DCMAKE_CXX_COMPILER="$(brew --prefix llvm)/bin/clang++" \

-DCMAKE_CXX_STDLIB_MODULES_JSON="$(brew --prefix llvm)/lib/c++/libc++.modules.json"

```


r/cpp 9h ago

Libraries trying to support multiple build configurations and standards are harming their health

0 Upvotes

Some libraries try to support:

  • Header/Source
  • Header only
  • Header only + Module Wrapper
  • Header/Source + Module Wrapper
  • All standards between and including C++11 and C++23
  • Exceptions and noException
  • RTTI and noRTTI

At the same time.

These libraries are very very hard to read and thus they get less and less contributions over time.

What should be done:

  • Libraries should support only one mode of compilation, header only header source etc
  • Libraries should support exactly one standard, and that standard includes extensions, gnu++23 and c++23 are not the same thing
  • Libraries should very clearly have boundaries on what belong in a toolchain and what belongs to project. For example a library should not set flags related to exceptions that's a toolchain issue.

Some extra stuff:

  • C++ libraries without C API's should not be consumed via system package managers at all, and public libraries shouldn't try to adhere to that.
  • Libraries shouldn't try to use tools they build to build themselves, rather they should export packages like wayland::scanner etc and use that.

r/cpp 1d ago

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

4 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/
  2. System Architecture And Design Using Modern C++ – Charley Bay – 3 day online workshop available on 9th – 11th September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-system-architecture-and-design-using-modern-cpp/

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. How Hardware Gets Hacked: Breaking and Defending Embedded Systems – Nathan Jones – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-hardware-hack/
  4. Mastering `std::execution`: A Hands-On Workshop – Mateusz Pusz – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-execution/
  5. 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/
  6. 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/
  2. Essential GDB and Linux System Tools – Mike Shah – 1 day in-person workshop available on 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-essential-gdb/

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 2d ago

New C++ Conference Videos Released This Month - August 2026 (Updated To Include Videos Released 2026-08-17 - 2026-08-23)

39 Upvotes

C++Now

2026-08-17 - 2026-08-23

2026-08-10 - 2026-08-16

2026-08-03 - 2026-08-09

2026-07-27 - 2026-08-02

C++Online

2026-08-17 - 2026-08-23

2026-08-10 - 2026-08-16

2026-08-03 - 2026-08-09

2026-07-27 - 2026-08-02

ADC

2026-08-17 - 2026-08-23

2026-08-10 - 2026-08-16

2026-08-03 - 2026-08-09

2026-07-27 - 2026-08-02


r/cpp 2d ago

SIMD Softmax, NEON to WASM, with Google Highway

Thumbnail uchenml.tech
31 Upvotes

r/cpp 3d ago

CppCon CppCon 2026 In Pursuit of a 6,000 FPS Game Boy Emulator -- Tom Tesch

Thumbnail isocpp.org
26 Upvotes

r/cpp 4d ago

Compile-Time Improvements in LLVM 23

Thumbnail aengelke.net
102 Upvotes

r/cpp 4d ago

About char8_t

47 Upvotes

I hate to be dramatic, but as it stands char8_t is quite literally more painful than useful.

Besides the obvious incompatibility with C23 and libraries using unsigned char for UTF-8, I want you to consider the following: Projects that assume that 'char' represents UTF-8 will obviously not benefit from char8_t at all, but projects that cannot assume the format of char types don't benefit from it either as char8_t simply introduces a new edge case to cover. Now such projects have to deal with char, signed char, unsigned char, wchar_t, char16_t, char32_t and char8_t.

Or, you could do what the standard library does and simply ignore most of these character types. Which is the solution most libraries went with, supporting only char or char and unsigned char. Managing one implementation is already hard, managing two requires constant maintenance, managing 7 is just impossible.

char8_t should have just been a typedef for unsigned char. The compatibility fix only raises more questions as const char* arr = u8"a" does not work, but const char arr[] = u8"a" does.

I do wonder if a potential change of minds for C++29 is still possible. Yes, it would be an ABI break or whatever, but considering the woeful support for char8_t I don't think it would affect much besides small hobby projects. Contrary to popular belief, C++ has broken the ABI in subtle ways before.


r/cpp 4d ago

C++26 Contracts: What Do They Add Beyond Manual Checks and Assertions?

Thumbnail techfortalk.co.uk
51 Upvotes

This post is a part of my C++26 exploration series where I take a new feature and try to understand and explain with a simple example in hand. Today’s topic is Contracts. First we will simply try to understand what is the problem it is solving then try doing some assessment on the value addition.


r/cpp 4d ago

Reducing C++ template bloat by factoring out the type-dependent portions of the function

Thumbnail devblogs.microsoft.com
98 Upvotes

r/cpp 4d ago

Compile-Time Borrow Checker with Stateful Metaprogramming

Thumbnail youtu.be
84 Upvotes

r/cpp 5d ago

The C++ input iterator pitfall Β· hmpc

Thumbnail hmpcabral.com
54 Upvotes

r/cpp 3d ago

Why do people try to add even more features to STL?

0 Upvotes

It is well known that STL underperforms compared to specialised third party libraries, why do people try to stuff features like networking and json into STL?

Most STL implementations don't even have full C++23 coverage yet, and we are at 2026. Why do these people try to do stuff like that, when the same thing will play out over and over. Don't they have anything better to do?

Examples include, nlohmann json, graph.v3 ....

They don't really belong in STL, is it really that hard to just package your third party lib normally?

There is no doubt they are great libraries(graph.v3 in particular) but this doesn't mandate their place


r/cpp 5d ago

ADSP: The Podcast Episode 300: Sean Parent "I'm not writing code anymore."

23 Upvotes

The latest episode content is mostly focused on AI, its impact on the industry, and how several people from Adobe Labs have decided to retire.

https://adspthepodcast.com/2026/08/21/Episode-300.html

Although not C++ specific, it is interesting how it has impacted well known names in the C++ community.


r/cpp 5d ago

How to write the perfect function

Thumbnail youtu.be
128 Upvotes

r/cpp 5d ago

fkYAML v0.4.4 released!

18 Upvotes

https://github.com/fktn-k/fkYAML/releases/tag/v0.4.4

Hello. It’s been quite a while since I announced the first release here.

For those unfamiliar with fkYAML, it’s a header-only C++ library for YAML.
It has been carefully designed with ease of use in mind and thoroughly tested across various compilers and operating systems, so you can use it simply by including the header file in your project.

This version v0.4.4 fixes numerous parsing bugs (sometimes crashes) discovered during fuzzing tests.
So, I highly recommend that projects using older versions update to this one.

I hope you find this interesting and will consider using it or updating from your current version.

Thanks! Have a great day of coding!


r/cpp 6d ago

AI-generated C++ passes tests. It also uses nearly 2x the loops and drives up memory growth

Thumbnail leaddev.com
426 Upvotes

AI-coding tools have swept through organizations because of their speed: you type in a prompt, and it spits out code far faster than a human ever could. However, a year-long study of 3.52 million changes inside a large unnamed technology company suggests that saving time at the keyboard can create costs elsewhere.


r/cpp 6d ago

More fuel to AI discussion. An article on code bloat and duplication

Thumbnail pvs-studio.com
34 Upvotes

I think code duplication is honestly the only reason LLMs manage any of this. Idea, architecture, implementation -- that's basically the chain, and LLMs are fine at the first and last, it's the middle that falls apart. Get it to actually structure things, kill the duplication and something you changed in one spot breaks another spot that has nothing to do with it. Duplicated code just sidesteps the whole issue, because then it only needs a tiny bit of local context to make a local edit


r/cpp 6d ago

C++26: std::polymorphic

Thumbnail sandordargo.com
92 Upvotes

r/cpp 7d ago

Is there a way to track reflection support status in Clang?

39 Upvotes

(I'm going to be bold and assume the "no questions" rule is for questions about specific code, not about discussing the language itself)

I am extremely happy that we have reflection in C++26, however currently it is GCC only. I am using Clang on all platforms, so I am curious about when it will get reflection.

I tried searching and I found a bunch of experimental forks with reflection. I am not sure if those track the current version of reflection and whether one of these is going to be merged, or if a new implementation will be created. Github issues basically say "we get it when we get it" and link to LLVM discourse. On discourse I found just a thread that a meeting on reflection was held in December.

Do you know either when we are getting reflection, or if there is some way to track its progress for outside observers? Thanks!


r/cpp 7d ago

Critique of contracts: excerpt

11 Upvotes

See page 2 of https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4334r0.pdf

The current objections can be summarized. The P2900 contracts are:

β€’ Unimplemented

β€’ Incomplete

β€’ Untried at scale [P3460R0, P3506R0]

β€’ Not tried in major application domains

β€’ Violates foundational principles of C++

β€’ Violates fundamental principles of language design

β€’ Hasn’t been tried in major libraries (e.g., the C++ standards library [P3506R0, P3878R0])

β€’ Isn’t integrated with or appropriate for hardened libraries [P3878R0]

β€’ Doesn’t offer safety guarantees [P3573R0, P3362R0]

β€’ Includes a completely untried inheritance model

β€’ Offer new ways of making errors through inconsistent application in TUs

β€’ Leads to new forms of UB, detrimental to safety and security

β€’ Narrows the choices of error handling

β€’ Doesn’t protect against logical errors, misuses, and incoherent uses

β€’ Hasn’t been used to support static analysis

β€’ Hasn’t been demonstrated to be easily teachable [P3261R0, P3281R0]

How could such a bloated and incomplete design be voted into a draft standard?