2 ms·
> I want to say libc++ and maybe MSVC do something along those lines in their std::string implementations. Here's Raymond Chen on this topic earlier this same
by tialaramex 2y ago
> I want to say libc++ and maybe MSVC do something along those lines in their std::string implementations.
Here's Raymond Chen on this topic earlier this same year. As a bonus since you're looking at this in August it's more or less correct now, whereas when it was published it had numerous serious errors. Whether the standard library implementation of such an important type should be so complicated that an expert makes numerous errors is another question...
https://devblogs.microsoft.com/oldnewthing/20240510-00/?p=109742 https://devblogs.microsoft.com/oldnewthing/20240510-00/?p=10...
So, libc++ gets closest, 1 flag byte + 22 bytes of text + 1 byte of ASCII NUL = 24 bytes
The others are much worse, larger (32 bytes on modern computers) yet with lower SSO capacity (15 bytes of text).
- aw1621107 2y agoHuh, I thought MSVC had a libc++-style SSO implementation. Now I have to wonder where I got that mistaken impression :(