Нуль-терминированные строки не считаются устаревшим методом хранения данных, но у него есть некоторые недостатки, которые могут привести к тому, что этот способ считают устаревшим:
- Отсутствие механизмов отслеживания выхода за допустимые границы строки. znanierussia.ru Повреждение завершающего байта может вызвать повреждение обширных областей памяти, что приведёт к непредсказуемым последствиям — утрате данных, сбоям в работе программного обеспечения или целой системы. znanierussia.ru
- Невозможность использования некоторых многобайтовых кодировок. znanierussia.ru Например, UTF-16, так как у многих символов один из байтов будет равен нулю. znanierussia.ru
- Длительное выполнение операций вычисления длины и слияния строк. znanierussia.ru
- Невозможность применения символа завершающего байта в роли элемента строки. znanierussia.ru
В качестве альтернативы нуль-терминированным строкам выступают способы, которые используются в Паскале и современных объектно-ориентированных языках. ru.ruwiki.ru ru.wikipedia.org Они могут хранить в себе нуль-символы без искажений и специального кодирования. ru.ruwiki.ru ru.wikipedia.org