r_cpp | Unsorted

Telegram-канал r_cpp - C++ - Reddit

-

Stay up-to-date with everything C++! Content directly fetched from the subreddit just for you. Join our group for discussions : @programminginc Powered by : @r_channels

Subscribe to a channel

C++ - Reddit

How Modern C++ Parses a Word Document in a Clean Functional Pipeline

Working with old document formats often turns into archaeology — XML digging, platform-specific hacks, or very verbose parsing chains.

But modern C++20 allows a surprisingly clean, composable approach.

Here’s what a full MS Word (.doc or .docx) parsing pipeline looks like today using an operator-pipe style:

std::filesystem::path("data_processing_definition.doc")
| content_type::detector{}
| office_formats_parser{}
| PlainTextExporter()
| out_stream;

ensure(out_stream.str()) ==
"Data processing refers to the activities performed on raw data...";



No COM.
No platform-specific APIs.
No manual XML manipulation.
Just a functional, readable pipeline.

I'm honestly curious how other languages express a similar parsing chain.
If you work with Python, Rust, Go, Java, C#, or JS — how would you model this?

Would love to see your idiomatic equivalents.

https://redd.it/1pkekq6
@r_cpp

Читать полностью…

C++ - Reddit

Should I store a helper object as a class member or create it locally inside a method in C++?

I have a base Layer class that I expose from a DLL. My application loads this DLL and then defines its own layer types that inherit from this base class. Here is the simplified definition:

class Layer
{
public:
virtual ~Layer() {};
virtual void OnUpdate() {};
virtual void OnEvent() {};
virtual void OnRender() {};
Rescaler rescaler;
};

All other layer types in my application inherit from this class.


The Rescaler object is responsible for scaling all drawing coordinates.
The user can set a custom window resolution for the application, and Rescaler converts the logical coordinates used by the layer into the final resolution used for rendering.

This scaling is only needed during the OnRender() step and it is not needed outside rendering.

Given that:

1. the base Layer class is part of a DLL,
2. application-specific layers inherit from it,
3. Rescaler is only used to scale rendering coordinates based on user-selected resolution,

my question is:

Should Rescaler remain a member of the base Layer class, be moved only into derived classes that actually need coordinate scaling, or simply be created locally inside OnRender()?

What is the recommended design in this scenario?

https://redd.it/1pk7x36
@r_cpp

Читать полностью…

C++ - Reddit

C++ Podcasts & Conference Talks (week 50, 2025)

Hi r/cpp! Welcome to another post in this series brought to you by Tech Talks Weekly. Below, you'll find all the C++ conference talks and podcasts published in the last 7 days:

# 📺 Conference talks

# CppCon 2025

1. **"Implementing Your Own C++ Atomics - Ben Saks - CppCon 2025"** ⸱ +4k views ⸱ 04 Dec 2025 ⸱ 01h 01m 38s
2. **"The Dangers of C++: How to Mitigate Them and Write Safe C++ - Assaf Tzur-El"** ⸱ +3k views ⸱ 03 Dec 2025 ⸱ 00h 50m 09s
3. **"Building Secure C++ Applications: A Practical End-to-End Approach - CppCon 2025"** ⸱ +2k views ⸱ 05 Dec 2025 ⸱ 01h 02m 01s
4. **"Back to Basics: How to Refactor C++ Code - Amir Kirsh"** ⸱ +2k views ⸱ 08 Dec 2025 ⸱ 01h 04m 13s
5. **"Is The Future of C++ Refactoring Declarative? - Andy Soffer - CppCon 2025"** ⸱ +1k views ⸱ 09 Dec 2025 ⸱ 01h 00m 49s

# ACCU York

1. **"Agentic Debugging Using Time Travel - Greg Law - ACCU York"** ⸱ +100 views ⸱ 09 Dec 2025 ⸱ 01h 06m 26s

# LMPL 2025

1. **"\[LMPL'25\ Challenges in C++ to Rust Translation with Large Language Models: A Preliminary(…)"](https://youtube.com/watch?v=HQDxhlxE1o&utmsource=techtalksweekly&utmmedium=email) ⸱ **<100 views** ⸱ 05 Dec 2025 ⸱ 00h 18m 10s

# OOPSLA 2025

1. [**"\[OOPSLA'25\] Fuzzing C++ Compilers via Type-Driven Mutation"**](
https://youtube.com/watch?v=je8uYrTNfys&amp;utmsource=techtalksweekly&utmmedium=email) ⸱ **<100 views** ⸱ 05 Dec 2025 ⸱ 00h 14m 13s
2. [**"\[OOPSLA'25\] Fast Constraint Synthesis for C++ Function Templates"**](
https://youtube.com/watch?v=6pxVhEi-bc&utmsource=techtalksweekly&utmmedium=email) ⸱ <100 views ⸱ 05 Dec 2025 ⸱ 00h 13m 28s

# 🎧 Podcasts

1. **"C++ Memory Management • Patrice Roy & Kevin Carpenter"**GOTO ⸱ 09 Dec 2025 ⸱ 00h 32m 20s

This post is an excerpt from the latest issue of ***Tech Talks Weekly*** which is a free weekly email with all the recently published Software Engineering podcasts and conference talks. Currently subscribed by +7,500 Software Engineers who stopped scrolling through messy YT subscriptions/RSS feeds and reduced FOMO. Consider subscribing if this sounds useful: *https://www.techtalksweekly.io/*

Let me know what you think. Thank you!

https://redd.it/1pjqqob
@r_cpp

Читать полностью…

C++ - Reddit

A faster is-leap-year function for full-range signed 32-bit integers
https://www.benjoffe.com/fast-leap-year

https://redd.it/1pjenzm
@r_cpp

Читать полностью…

C++ - Reddit

How do compilers execute constexpr/consteval functions when you are cross-compiling?

I assume that you can not just compile and run for the host platform, since e.g. long can have a different size on the target platform.

Can the compiler just use the type sizes of the target platform, and then execute natively?

Can this problem be solved in different ways?

https://redd.it/1pj8qxk
@r_cpp

Читать полностью…

C++ - Reddit

Visual Studio option /RTCc - what is its purpose?

Why does it exist?
Documentation says that it “Reports when a value is assigned to a smaller data type and results in a data loss.”
Except it is not what it actually does.
This runtime check reports a failure if discarded by a cast top bits are not the same (all 0 or all 1).
It is not a useful range check for either signed or unsigned types, almost as if someone did it to offend both equally...
I just can't understand why such an utterly useless option has been kept in a compiler for decades.
Am I missing something here?

https://redd.it/1pj0hyr
@r_cpp

Читать полностью…

C++ - Reddit

Ask Me Anything session with CLion team

Hi r/cpp,

The **CLion** team is excited to host an **AMA (Ask Me Anything)** session tomorrow **Thursday, December 11, 2025**.

Feel free to join us over at r/Jetbrains or drop your questions right here – we’ve got you covered!

[https://www.reddit.com/r/Jetbrains/comments/1pia836/ask\_me\_anything\_with\_clion\_team\_december\_11\_1\_pm/](https://www.reddit.com/r/Jetbrains/comments/1pia836/ask_me_anything_with_clion_team_december_11_1_pm/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button)

[CLion](https://www.jetbrains.com/clion/) is a cross-platform IDE for C and C++ designed for smooth workflows and productive development. It is ready to use out of the box with all essential integrations in one place and supports major toolchains, popular build systems, unit testing frameworks, and advanced debugging, as well as embedded development.

This Q&A session will cover the latest updates and changes in CLion. Feel free to ask any questions about our latest 2025.3 release, CLion language engine updates and new language features, debugger enhancements, project models and build tools support, and anything else you're curious about!

**We’ll be answering your questions from 1–5 pm CET on December 11.**

**Your questions will be answered by:**

* Artemy Pestretsov (Head of the C/C++ Ecosystem) – u/artemypestretsov
* Andrey Gushchin (CLion Product Manager) – u/andrey-gushchin
* Evgenii Novozhilov (Engineering Lead) – u/ujohnny
* Aleksander Karaev (C/C++ Language Support Lead) – u/FortuneSpiritual6290
* Ilia Motornyi (CLion Developer, Embedded) – u/_elmot

There will be other members of the CLion team helping us behind the scenes.

We’re looking forward to seeing you!

Your CLion team, 

JetBrains



https://redd.it/1piyfzp
@r_cpp

Читать полностью…

C++ - Reddit

std::move doesn't move anything: A deep dive into Value Categories
https://0xghost.dev/blog/std-move-deep-dive/

https://redd.it/1pin1hj
@r_cpp

Читать полностью…

C++ - Reddit

Can you survive the type deduction gauntlet?
https://www.volatileint.dev/posts/auto-type-deduction-gauntlet/

https://redd.it/1pieusd
@r_cpp

Читать полностью…

C++ - Reddit

Dependency Injection In c++

Hey, curious about the preferred dependency injection patterns in modern c++. preferably c++20 and above.

https://redd.it/1pi5fro
@r_cpp

Читать полностью…

C++ - Reddit

Meson 1.10 adds experimental C++ import std support
https://mesonbuild.com/Release-notes-for-1-10-0.html

https://redd.it/1pi5ogl
@r_cpp

Читать полностью…

C++ - Reddit

Clang's lifetime analysis can now suggest the insertion of missing
https://github.com/llvm/llvm-project/commit/5a74f7ea9938

https://redd.it/1pi1dpf
@r_cpp

Читать полностью…

C++ - Reddit

Curious to know about developers that steered away from OOP. What made you move away from it? Why? Where has this led you?

TLDR: i'm just yapping about where I come from but am very interested about what I asked you about in the title!

So I been all in into developing games for 2 years now coming from a 3D artist background and became recently very serious about programming after running into countless bottlenecks such as runtime lag spikes, slow code, unscalable code (coupling), code design too content heavy (as in art assets and code branching logic) and so on.

But while learning about programming and making projects, I always found that something about OOP just always felt off to me. But I never was able to clearly state why.

Now I know the hardware dislikes cache misses but I mean it still runs...

Thing is there's something else. People say they use OOP to make "big projects more scalable" but I kind of doubt it... It looks to me like societal/industry technical debt. Because I don't agree that it makes big projects much more scalable. To me, it feels like it's just kind of delaying inevitable spaghetti code. When your building abstraction on top of abstraction, it feels just so... subjective and hard to keep track of. So brittle. Once too big, you can't just load into your brain all the objects and classes to keep track of things to keep developing there comes a point where you forget about things and end up rewriting things anyway. And worst case about that is if you rewrite something that was already written layers beneath where now you're just stacking time delays and electricity/hardware waste at this point. Not only to mention how changing a parent or shared code can obliterate 100 other things. And the accumulation of useless junk from inheritance that you don't need but that'll take ram space and even sometimes executions. Not only to mention how it forces (heavily influences) you into making homogeneous inheritance with childrens only changing at a superficial level. If you look at OOP heavy games for example, they are very static. They are barely alive barely anything is being simulated they just fake it with a ton of content from thousands of artists...

Like I get where it's power lies. Reuse what has been built. Makes sense. But with how economy and private businesses work in our world, technical debt has been shipped and will keep being shipped and so sure I get it don't reinvent the wheel but at the same time we're all driving a car with square wheels wondering why our gas bills are ramping up...

So with that being said, I been looking for a way out of this madness.

Ignorant me thought the solution was about learning all about multithread and gpu compute trying to brute force shit code into parallelism lol.

But I just now discovered the field of data structure and algorithms and for the first time in who knows how long I felt hope. The only downside is now you need to learn how to think like a machine. And ditch the subjective abstract concepts of OOP to find yourself having to deal with the abstraction of math and algorithms lol

But yeah so I was hoping I could hear about others that went through something similar. Or maybe to have my ignorance put in check I may be wrong about all of it lol. But I was curious to know if any of you went through the same thing and if that has led you anywhere. Would love to hear about your experience with the whole object oriented programming vs data oriented programming clash. And what better place to come ask this other than the language where the two worlds collide! :D

https://redd.it/1phxghq
@r_cpp

Читать полностью…

C++ - Reddit

where to post programs where other people can run it?

hello, I am a software engineering student and I just finished my first big coding project for school- a text based version of blackjack. is there somewhere I can publish this so my family can play it and not have to download an IDE or anything? like a website they can visit and play it? thank you

https://redd.it/1phtiee
@r_cpp

Читать полностью…

C++ - Reddit

New C++ Conference Videos Released This Month - December 2025

CppCon

2025-12-01 - 2025-12-07

Optimize Automatic Differentiation Performance in C++ - Steve Bronder - [https://youtu.be/\_YCbGWXkOuo](https://youtu.be/_YCbGWXkOuo)
Is Your C++ Code Leaking Memory? Discover the Power of Ownership-Aware Profiling - Alecto Irene Perez - https://youtu.be/U23WkMWIkkE
The Dangers of C++: How to Mitigate Them and Write Safe C++ - Assaf Tzur-El - [https://youtu.be/6eYCMcOYbYA](https://youtu.be/6eYCMcOYbYA)
Implementing Your Own C++ Atomics - Ben Saks - CppCon 2025 - https://youtu.be/LtwQ7xZZIF4
Building Secure C++ Applications: A Practical End-to-End Approach - Chandranath Bhattacharyya & Bharat Kumar - [https://youtu.be/GtYD-AIXBHk](https://youtu.be/GtYD-AIXBHk)

C++Now

2025-12-01 - 2025-12-07

Lightning Talk: I Now Maybe Understand C++ Hazard Pointers - Denis Yaroshevskiy - https://youtu.be/VKbfinz6D04
Lightning Talk: constexpr Copyright - Ben Deane - [https://youtu.be/WHgZIC-lsiU](https://youtu.be/WHgZIC-lsiU)
Lightning Talk: Replace Git With JJ - Your New Version Control & DevOps Solution - Matt Kulukundis - https://youtu.be/mbK8szLJ-2w

ACCU Conference

2025-12-01 - 2025-12-07

Programming Puzzles - Programming Challenge - Pete Goodliffe - ACCU 2025 Short Talks - [https://youtu.be/jq\_dJPSi\_3M](https://youtu.be/jq_dJPSi_3M)
C++20 Ranges - The Stuff of Science Fiction - Stewart Becker - ACCU 2025 Short Talks - https://youtu.be/Key-bfvDHcE
C++ Keywords Speak for Themselves - Jon Kalb - ACCU 2025 Short Talks - [https://youtu.be/zv9eTr1dCU0](https://youtu.be/zv9eTr1dCU0)

C++ on Sea

2025-12-01 - 2025-12-07

Lightning Talk: Pólya Performance Thinking - Andrew Drakeford - https://youtu.be/qZPBr\_jhE1o
Lightning Talk: Teaching the NES - What 6502 Assembly Reveals About Modern C++ - Tom Tesch - [https://youtu.be/gCM5t0Txf8U](https://youtu.be/gCM5t0Txf8U)
Lightning Talk: Terminating Your Bugs With Time Travel and AI - Rashmi Khetan - https://youtu.be/-OrJyN2Mw7s

Meeting C++

2025-12-01 - 2025-12-07

Our Most Treacherous Adversary - James McNellis - Meeting C++ 2025 lightning talks - [https://www.youtube.com/watch?v=zC\_uwGqSLqQ](https://www.youtube.com/watch?v=zC_uwGqSLqQ)
Let them eat cake - Rahel Natalie Engel - Meeting C++ 2025 lightning talks - https://www.youtube.com/watch?v=gQ6grpbhW8k

https://redd.it/1phh6ae
@r_cpp

Читать полностью…

C++ - Reddit

I've built a text adventure game engine on top of the C++ Standard...

Why? I have no idea.

But it's a learning tool with quests and time travel and artifacts and NPC's and XP and ... well, you just have to check it out:

https://cppevo.dev/adventure

It's probably my favorite why to browse and search the standard now, but there's probably a few errors lurking in the conversion and maybe in the quests.

It's built on top of my C++ Standard -> markdown tool https://github.com/lefticus/cppstdmd and my C++ Evolution viewing tool https://cppevo.dev

Everything is cross linked where possible with other sites, and of course code samples NPCs give are linked back to Compiler Explorer.

https://redd.it/1pkasf6
@r_cpp

Читать полностью…

C++ - Reddit

I optimized my Order Matching Engine by 560% (129k → 733k ops/sec) thanks to your feedback

Hey everyone,

A while back I shared my C++ Order Matching Engine here and got some "honest" feedback about my use of std::list and global mutexes.

I took that feedback to heart and spent the last week refactoring the core. Here are the results and the specific optimizations that worked:

The Results:

Baseline: \~129,000 orders/sec (MacBook Air)
Optimized: \~733,000 orders/sec
Speedup: 5.6x

The Optimizations:

1. Data Structure: `std::list` -> `std::deque` + Tombstones
Problem: My original implementation used std::list to strictly preserve iterator validity. This killed cache locality.
Fix: Switched to `std::deque`. It offers decent cache locality (chunked allocations) and pointer stability.
Trick: Instead of erase() (which is O(N) for vector/deque), I implemented "Tombstone" deletion. Orders are marked active = false. The matching engine lazily cleans up dead orders from the front using pop_front() (O(1)).
2. Concurrency: Global Mutex -> Sharding
Problem: A single `std::mutex` protected the entire Exchange.
Fix: Implemented fine-grained locking. The Exchange now only holds a Shared (Read) lock to find the correct OrderBook. The OrderBook itself has a unique mutex. This allows massively parallel trading across different symbols.
3. The Hidden Bottleneck (Global Index)
I realized my cancelOrder(id) API required a global lookup map (`OrderId` \-> `Symbol`) to find which book an order belonged to. This map required a global lock, re-serializing my fancy sharded engine.
Fix: Changed API to cancelOrder(symbol, id). Removing that global index unlocked the final 40% performance boost.

The code is much cleaner now

I'd love to hear what you think of the new architecture. What would you optimize next? Custom Allocators? Lock-free ring buffers?

PS - I tried posting in the showcase section, but I got error "unable to create document" (maybe because I posted once recently, sorry a little new to reddit also)

Github Link - https://github.com/PIYUSH-KUMAR1809/order-matching-engine

https://redd.it/1pk5iv3
@r_cpp

Читать полностью…

C++ - Reddit

ACCU Overload Journal 190 - December 2025
https://accu.org/journals/overload/overload190

https://redd.it/1pjr9lr
@r_cpp

Читать полностью…

C++ - Reddit

Boost 1.90 – what to actually look at as a working C++ dev
https://www.boost.org/releases/1.90.0/

https://redd.it/1pjb8uc
@r_cpp

Читать полностью…

C++ - Reddit

What's better for robotics Cmake or Autotools ?

The title pretty much explains it. I recently watched CodingJesus video on the "C++ Wretch Build" (Like from Elden Ring) aka the build that will give you the least assitance to start out with but open up a lot of possibilities. I am very new to C++ and Robotics (just started with Arduino, Breadboard etc) In his video he detailed autotools was the best for getting "cracked" as a C++ developer. I want to be a robotics electrical engineer and I am aware that maybe some of his suggestions for this wretch build were maybe specific to developers.I asked chatgpt and google and the AI given answer was CMake was overwhelmingly better but I saw a lot of debate on reddit.


Context: This is his suggested "build"🌑

Wretch Starter Kit

Build System: Autotools
Debugger: GDB
IDE: Vim + tmux
Compiler: GCC
Linter: clang-tidy
Formatter: clang-format
Profiler: perf
git






https://redd.it/1pj4cy2
@r_cpp

Читать полностью…

C++ - Reddit

The Real Problem with C++: Mindset, Modern Practices and Safer Code – Interview with Klaus Iglberger
https://youtu.be/cjO76ygwGdA?si=5BVhhGMtDmLNB3gl

https://redd.it/1pizv9a
@r_cpp

Читать полностью…

C++ - Reddit

Time in C++: std::chrono::high_resolution_clock — Myths and Realities
https://www.sandordargo.com/blog/2025/12/10/clocks-part-4-high_resolution_clock

https://redd.it/1piwky8
@r_cpp

Читать полностью…

C++ - Reddit

[Show and Tell] u8ility: A C++20/23 header-only, zero-allocation UTF-8 view library

Hi r/cpp,

This is my first post in this subreddit, so I'll try my best to follow the guidelines and provide some value!

Back in 2021, I started working on a simple UTF-8 library to avoid the dependency overhead required for basic codepoint interaction in my project. \
I recently dusted it off and decided to completely rewrite it to create the thinnest possible wrapper around std::string_view, to meet modern C++ standards that provide correct iteration of code points, focusing solely on performance and ergonomics.

### Key Design Principles:
- **Header-only**: Ease of use by providing complete details on what's under the hood

- **Zero-Allocation**: The core character type (`u8::mchar`) is a small, stack-based value type (max 5 bytes). It avoids heap allocation entirely during iteration

- **Cache-Friendly**: By avoiding pointers and virtual calls, it ensures high cache locality when iterating

- **Constexpr**: Allows encoding, decoding, and basic character validation at compile-time

- **Ergonomic**: Provides an u8::u8_view that works flawlessly with range-based for loops

I believe this offers an efficient alternative to full-featured libraries *when you just need quick, safe access to UTF-8 characters within existing `std::string` data*.

I'd love your roast/feedback on the current implementation. I'm especially interested in whether the char8_t vs char interoperability feels correct and how I could further improve validation logic without breaking the zero-allocation rule.

Here is [the Github link](https://github.com/lmela0/u8ility) 🙏

`https://github.com/lmela0/u8ility`

https://redd.it/1pilv04
@r_cpp

Читать полностью…

C++ - Reddit

What to expect in Kodiak AI Interview

I have an upcoming interview with Kodiak AI for a C++ Motion Planning New Grad role on their Autonomy team, and I’m trying to get a realistic idea of what the technical rounds look like. For folks who have interviewed there (or at similar AV/autonomy companies):

How much of the interview is “standard” C++ LeetCode-style questions vs questions focused on autonomy algorithms (motion planning, behavior planning, trajectory generation, computational geometry, controls?

My background is in robotics and motion planning with intermediate knowledge C++ as I’ve mainly used it in ROS codes, so I’m wondering how to split prep time between LeetCode, core C++ fundamentals, and autonomy-specific algorithm/design prep. Any insight or recent experiences would be hugely appreciated.

https://redd.it/1pibqct
@r_cpp

Читать полностью…

C++ - Reddit

IDE for C++

Hi,
I'm currently using Code::Blocks and VS Code to code C++ and everything else.
I think about switching to a real IDE, but I can't choose between Visual Studio Community and Clion. Which of the two IDEs to choose and is better?

https://redd.it/1pi53fv
@r_cpp

Читать полностью…

C++ - Reddit

Converting My Codebase to C++20 Modules. Part 1
https://alexsyniakov.com/2025/11/25/converting-my-codebase-to-c20-modules-part-1/

https://redd.it/1pi3n9a
@r_cpp

Читать полностью…

C++ - Reddit

C#-style property in C++
https://vorbrodt.blog/2025/12/05/c-style-property-in-c/

https://redd.it/1pi12u7
@r_cpp

Читать полностью…

C++ - Reddit

Two months into my ECS journey, here's where I'm at.
https://github.com/unrays/Exotic

https://redd.it/1phvurx
@r_cpp

Читать полностью…

C++ - Reddit

Long long is faster than int?

Most of the programmers probably would be fine with int when there are no chances of overflow.

I came across a stack overflow article recently, justifying the reasons behind it.

Though one would hardly care about the difference.
But the thread explains it out very well and it was cool to know about it.

https://redd.it/1phkyy9
@r_cpp

Читать полностью…

C++ - Reddit

Flow: Actor-based language for C++, used by FoundationDB
https://github.com/apple/foundationdb/tree/main/flow

https://redd.it/1phe4jb
@r_cpp

Читать полностью…
Subscribe to a channel