Open source C++ libraries: algorithms, data structures, concurrency, networking & more. Peer-reviewed, portable, battle-tested since 1998. https://xitter.cf/t.co/MhBwwXNH58

Global C++ Community
Joined March 2017
Level up your C++ skills! Sharpen your code with the latest from the Boost Libraries, powerful, peer-reviewed, and production-ready New in Boost: Bloom – High-performance Bloom filters → boost.org/libs/bloom Hash2 – Modern, flexible hashing library → boost.org/libs/hash2 MQTT5 – Next-gen MQTT protocol support → boost.org/libs/mqtt5 Explore all Boost libraries → boost.org/libs
5
3
1
32
12,581
Sometimes the biggest improvement isn't adding more code. It's finding a way to remove complexity. In this example, structured concurrency and composable pipelines helped simplify a system by a significant amount. Clear cancellation rules and well-defined boundaries made the architecture easier to understand. Less complexity. More clarity. Better control. ▶️ youtube.com/shorts/4gG9HMOx-… #ModernCpp #CleanCode #SoftwareArchitecture #Concurrency
5
294
Think push_back() just adds an element? There's one important detail to remember. 👀 When a std::vector runs out of capacity, adding an element may trigger reallocation. References to its existing elements can then become invalid. That small detail can make the difference between reliable C++ and a hard-to-find bug. ▶️ youtube.com/shorts/44MybSZ5m… #CppTips #StdVector #ModernCpp #Coding
1
11
772
Is this key in the set? For 10 million 64-bit keys, std::unordered_set needs 417 MB of RAM A structure that’s allowed to say “probably” just takes 12 MB with 1% false positives, and it's never wrong when it says no 🧵👇
1
3
42
2,437
Boost Blueprint 144: Boost.Bloom boost::bloom::filter sized for 10M keys at a 1% false positive rate takes 12 MB, and on keys that were never inserted the measured rate comes in at 1.01%. A no means definitely absent, so you skip the disk read, the network call or the cache lookup Block and multiblock variants improve cache locality by concentrating a key’s bits in small chunks of memory, trading some extra memory for faster lookups at the same accuracy level Put it in front of anything expensive to ask: LSM trees, CDN caches, crawlers, join filters Level up your C++ architecture. Follow @Boost_Libraries for the #BoostBlueprint series #cpp
1
11
395
Good programmers don't just work with data—they find better ways to represent and understand it. Joaquín M. López explains the connection between mathematical mapping, information loss, and programming in this short from Using std::cpp 2026. 🎥 Watch: youtube.com/shorts/pQApbZdZL… #CPP #ModernCpp #SoftwareDevelopment
3
18
733
Your README isn't just documentation. It's your project's landing page. You have seconds to communicate what your C++ project does, why it matters, and what using it looks like. A strong opening can turn a curious visitor into a user or contributor. Learn how to improve yours with Mateusz Pusz: 🎥 youtube.com/shorts/VIx4Wi4aj… #CPP #OpenSource #GitHub #SoftwareEngineering
1
11
424
High-performance computing is about more than raw speed. ArrayFire combines a productive C++ API with optimizations such as kernel fusion, helping developers get more from their hardware without having to manually write every low-level GPU kernel. Productivity and performance can coexist. youtube.com/shorts/V1tNuKLYU… #CPlusPlus #HPC #GPU #Performance
1
20
802
std::stoi(“42abc”) returns 42. std::stoi(“ 42”) returns 42. std::stoi(“4.9”) returns 4 No exception, no error. Spotting the junk in std::stoi(“42abc”, &pos) means checking pos yourself 🧵👇
2
18
1,003
Boost Blueprint 143: Boost.LexicalCast boost::lexical_cast(s) accepts the whole string as an int or throws bad_lexical_cast. Trailing junk, a leading space, a decimal point and values that don’t fit in an int are all rejected try_lexical_convert applies the same rules without exceptions and returns false on failure std::from_chars refuses the leading space, but parses “42abc” as 42 with ec == std::errc{}. Spotting the junk in std::from_chars means checking ptr yourself Level up your C++ architecture. Follow @Boost_Libraries for the #BoostBlueprint series #cpp
1
8
231
Good code tells you what it does. Great code makes the intention obvious. Instead of spelling out every iterator and every step of a filtering operation, modern C++ encourages a more declarative approach: access the values, filter them, and build the result. The less noise your code carries, the easier it is to understand what really matters. ▶️ youtube.com/shorts/A2OZunuoS… #CleanCode #Cpp #SoftwareDesign #ModernCpp
5
367
A disconnect bug can reveal a much bigger problem with your system's architecture. What if stopping a session automatically cancels the associated work? Or if one pipeline finishes, the competing operation stops as well? Structured concurrency helps make those relationships explicit—so shutdown becomes part of the design, not an afterthought. ▶️ youtube.com/shorts/4gG9HMOx-… #Cpp #StructuredConcurrency #SystemDesign #SoftwareReliability
7
332
When a financial system is overloaded, a cancel order is not just another message. Critical operations need to be protected even when the system can't process every request. Meanwhile, lower-priority work, such as internal analytics, may have to wait or be dropped. Priority isn't a nice-to-have. It's part of the system's failure strategy. Watch the short: youtube.com/shorts/gqYBOHK0c… #FinTech #SystemDesign #Concurrency #SoftwareReliability
3
321
What happens when a session stops while your pipeline is still running? 🤔 With structured concurrency, cancellation can be built into the design. Define clear scope boundaries, establish a proper cancellation policy, and make sure work stops when it should. Because reliable systems need more than a way to start tasks. They need a predictable way to stop them, too. ▶️ youtube.com/shorts/4gG9HMOx-… #Cpp #StructuredConcurrency #SoftwareEngineering #Concurrency
3
256
Modern C++ gives developers powerful ways to describe what types can and can't do. In this highlight from Using std::cpp 2026, Bjarne Stroustrup explores C++20 Concepts and the tricky rules around narrowing conversions. 🎥 Watch the short: youtube.com/shorts/n3hjnZPb2… #CPP #ModernCpp #GenericProgramming
7
424
Random UUIDv4 primary keys scatter inserts across your B-tree index, so once it outgrows memory nearly every insert lands on a cold page RFC 9562 fixed that in 2024 with time-ordered UUIDv7. PostgreSQL 18 and Python 3.14 generate them. Standard C++ has no UUID type at all 🧵👇
3
27
1,161
Boost Blueprint 142: Boost.Uuid time_generator_v7 produces RFC 9562 UUIDv7s: a 48 bit Unix millisecond timestamp, sub millisecond bits and a counter, then randomness. Generated in order, they sort in order, so new rows land at the end of the index instead of on a random page time_point_v7() gives the creation time back, and v1, v4, v5 and v6 generators live in the same library The uuid type is 16 bytes with no allocation, and each generator seeds itself from the OS once Level up your C++ architecture. Follow @Boost_Libraries for the #BoostBlueprint series #cpp
2
1
11
218
Think of CUDA C++ as having two worlds: 🖥️ Host — where your main program runs ⚡ Device — where GPU computations execute Moving between them isn't implicit. GPU work must be explicitly launched, which is a key concept to understand before diving deeper into CUDA. Learn the fundamentals with Bernhard Manfred Gruber: 🎥 youtube.com/shorts/-aJOy39BA… #CPP #CUDA #GPUProgramming #SoftwareDevelopment
1
22
807