История изменений
Исправление
Legioner,
(текущая версия)
:
К символам строки, по индексу.
А что ты понимаешь под символом строки? unicode codepoint? К нему не будет случайного доступа, как его нет практически ни в одном языке программирования сейчас. Если твой алгоритм требует такого доступа, создай массив 4-байтовых чисел и заполни его codepoint-ами. Правда скорее всего тебе нужен доступ к графемам, а не символам. Например «ë» это 2 символа: комбинирующий «¨» и «e». Но для пользователя это один знак. К ним тоже не будет случайного доступа, потому что эти графемы в общем случае могут занимать произвольное число байтов или codepoint-ов. Если надо — заводи массив строк и заполняй их. Или массив указателей на исходную строку.
Только ты не ответил,
в каких задачах это требуется?
Исходная версия
Legioner,
:
К символам строки, по индексу.
А что ты понимаешь под символом строки? unicode codepoint? К нему не будет случайного доступа, как его нет практически ни в одном языке программирования сейчас. Если твой алгоритм требует такого доступа, создай массив 4-байтовых чисел и заполни его codepoint-ами. Правда скорее всего тебе нужен доступ к графемам, а не символам. Например «ë» это 2 символа: комбинирующий «¨» и «e». Но для пользователя это один знак. К ним тоже не будет случайного доступа, потому что эти графемы в общем случае могут занимать произвольное число байтов или codepoint-ов. Если надо — заводи массив строк и заполняй их.
Только ты не ответил,
в каких задачах это требуется?