Чтобы сохранить строку, вам нужно 2 слова памяти компьютера.Один из них указывает на начало строки, другой содержит длину.
Строковый указатель составляет только половину размера, поскольку это просто указатель без длины.Это экономит память.
Когда у вас есть 100 указателей на одну строку, эта разница становится очевидной.Тогда у вас есть 100 + 2 слова плюс фактический байтовый массив.Это, конечно, зависит от того, интернирует ли newstring
строки.
Использование строковых указателей вместо строк имеет другой вариант использования.Затем программа может различать пустую строку и отсутствие строки вообще.Особенно в разделе конфигурации, это полезно.Время ожидания 0 секунд отличается от отсутствия времени ожидания вообще.Для большинства других параметров конфигурации пустая строка не имеет смысла, так что это просто накладные расходы.Тем не менее, он структурирован таким образом, чтобы иметь одинаковую структуру для каждого параметра конфигурации.Эта согласованность помогает, когда вам нужно понять код.
Могут быть и другие причины.Может быть, есть немного проектной документации по этой теме.