В C
компилятор имеет указатель на начало строки и имеет конечный символ ('\0'
). Если пользователь хочет рассчитать длину строки, компилятор должен подсчитывать элементы массива строк до тех пор, пока не найдет '\0'
.
В UCSD-strings
компилятор имеет длину строки в первых символах.
И что компилятор думает о C#-strings
? Да, с точки зрения пользователя String
есть object
, у которого есть поле Length
, я не говорю о материалах высокого уровня. Я хочу знать глубокие алгоритмы; например, как компилятор вычисляет длину строки?