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,569
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
5
254
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
29
1,413
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
9
241
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
2
11
504
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
6
324
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
767
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
948
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
218
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
358
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
321
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
317
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
255
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
422
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,157
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
215
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
802
Concurrency bugs are more than a performance problem when you're building financial systems. Under bursty workloads, timing-sensitive issues can threaten the correctness and reliability of an application — precisely when the system is under the most pressure. Writing concurrent code means thinking beyond the happy path. Explore the short: youtube.com/shorts/GT7CTYs5w… #CPlusPlus #SoftwareReliability #Concurrency #Finance
1
10
560