Size: a a a

2021 June 30

КП

Константин Пунш... in dlang.ru
Все ради этого?
источник

A

Alexander in dlang.ru
Где? В пайтоне?
источник

Е

Евгений in dlang.ru
И как же, допустим, мутировать один символ в std::string без UB?
источник

И

Игорь in dlang.ru
не знаю точного ответа. могу предположить что это так потому что так удобнее со строковыми литералами работать кторые уж точно иммутабельны. если нужна мутабельная строка то нужно конвертнуть в подходящий массив с учетом кодировки
источник

КП

Константин Пунш... in dlang.ru
Аааааааа, понял.
источник

Е

Евгений in dlang.ru
Ну еще ради того, что львиная доля строк - это литералы, которые удобно хранить в RO-секции.
источник

КП

Константин Пунш... in dlang.ru
Понял прикол
источник

DH

Dark Hole in dlang.ru
Так они полюбас будут в ro секции, только строки не надо копировать в таком случае, просто указатель кидаешь и всё
источник

A

Alexander in dlang.ru
В v8 какая-то хитрая штука есть, что новые строки хранят ссылки на старые. Сложновато замутили, но это сделано, видимо, чтобы избежать аллокации большого объёма памяти на новые строки. Ну т.е например, let a = 'some long text 10 kb'; let b = a + '***';' - вот для b не будет выделяться и копироваться 10 кб, она просто будет хранить ссылку на а и создание новой строки произойдет довольно быстро
источник

Е

Евгений in dlang.ru
Ну так об этом и речь, если ты не понял.
источник

Е

Евгений in dlang.ru
мутабельные строки придется хранить в мутабельных областях памяти
источник

DH

Dark Hole in dlang.ru
Нефиг мегабайтовые жсоны ворочать
источник

Е

Евгений in dlang.ru
Так много где сделано. Даже в D можно аналогично сделать. Copy-on-Write называется.
источник

EP

Egor Pugin in dlang.ru
s[2] = 'a';
источник

КП

Константин Пунш... in dlang.ru
Он про то, что если там будет utf-8 хранится
источник

Е

Евгений in dlang.ru
Ну тогда и дешный string мутабельный
string a = "hello";
a = "b" ~ a[1..$];
источник

g

gui in dlang.ru
у нас есть рейндж для этого
источник

DH

Dark Hole in dlang.ru
...которые нельзя без дополнительной магии джойнить
источник

EP

Egor Pugin in dlang.ru
а если третий символ, как у меня?
источник

EP

Egor Pugin in dlang.ru
для утф8 символов и полноценной работы с любым юникодом есть icu
источник