CPP String - 40 Years of Constraints

Опубликовано: 13 Май 2026
на канале: Last Mile Developer
15
0

Course: https://cpp.rougeneuron.in

Why is std::string so "heavy"? In this architectural archaeology session, we unpack the 40-year history baked into C++'s most used type. From the Tyranny of the Null Terminator in the '70s to the GCC 5 ABI Break that haunted the committee, discover how constraints—not just "best design"—shaped std::string. We explore why it has over 100 member functions, how Small String Optimization (SSO) replaced Copy-on-Write (COW) in the multicore era, and why your 64-bit compiler still worries about 16-bit segmented memory from the 1980s.


00:00 The Archaeological Site in Your Header File
01:36 The Tyranny of the Null Terminator & C’s Safety Disaster
02:22 The Wild West: Rogue Wave, NIHCL, and the Tower of Babel
03:03 Appeasement Design: Why There Are 100+ Member Functions
03:43 The 8086 Ghost: Why Allocators Still Support Segmented Memory
04:22 The COW Wars: When Copy-on-Write Was King
05:11 Multicore Revolution: How Atomic Ref-Counts Became a Bottleneck
06:20 The Regulatory Kill Switch: How C++11 Secretly Banned COW
06:59 Small String Optimization (SSO): Stack vs. Heap
07:40 Clang vs. GCC: The Battle of Bit-Twiddling and Alignment
08:34 The GCC 5 Trauma: Anatomy of an ABI Break
09:20 Ossification: Why We Are Stuck with Slow Designs
10:20 String Views: A Sharp Tool for Performance (and Bugs)
11:18 Unbundling the Monolith: The Arrival of std::format
12:05 The Vocabulary Type Trap: 40 Years of Momentum