Некоторые реализации std::string
сохраняют очень маленькие строки непосредственно в стеке в массиве статического размера char
вместо использования динамического хранилища кучи. Это позволяет избежать выделения кучи для множества небольших строковых объектов и улучшает локальность ссылки.
Кроме того, будет существовать член std::size_t
, чтобы сохранить размер строк и (потенциально неиспользуемый, см. Выше) указатель к хранилищу кучи.