Тип string в С++. Как он так реализован, что намного меньше расходует памяти чем массив из символов?)
Почему массив символов char[] занимает так много памяти (если использовать большой текст для хранения, потребуется на 1 символ = 1 байт, как итог: большой размер данных), а тип string не зависимо от того, сколько в нём будет текста, будет весить всего 32 байта..?
По дате
По Рейтингу
Размер строки надо проверять с помощью метода .size а не с помощью sizeof. Иначе вернётся размер оптимизированного буфера (32 байта).
Спасибо, посмеялся
Размер неправильно меряешь
Там внутри string динамическое выделение памяти (char*), а сама структура лишь указатель на этот char* хранит и может еще пару полей и все
Больше по теме