Size: a a a

2021 June 29

EP

Egor Pugin in dlang.ru
а char[] хранят длину в начале?
источник

DH

Dark Hole in dlang.ru
Немного сложнее всё, но да
источник
2021 June 30

Т

Тающий звук... in dlang.ru
Можно последний символ массива нулевой записать и будет тоже самое
источник

Т

Тающий звук... in dlang.ru
Строки тоже длину хранят и нулём ещё заканчиваются
источник

ee

elias eliatto in dlang.ru
привет! А для атомарных типов использование immutable при объявлении переменных не имеет преимуществ по сравнению с const?
источник

OB

Oleg B in dlang.ru
не заканчиваются
источник

OB

Oleg B in dlang.ru
что значит атомарный тип? const от immutable вроде не отличается особо по поведению, если ты таким образом создаёшь переменную (и то и другое нельзя менять), но вроде там есть нюанс при передаче в функции: immutable приводится к const, но не наоборот
источник

Е

Евгений in dlang.ru
Что значит отличие? Сама строка будет иммутабельной (а следовательно и константной), а вот переменная хранящая fat pointer на эту строку будет мутабельная, как и в плюсах.
источник

МВ

Макс Воробьев... in dlang.ru
в C++ std::string, грубо говоря, подобие std::vector<char>
источник

МВ

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

КП

Константин Пунш... in dlang.ru
А зачем кстати, делать строки по дефолту иммутабельными
источник

Е

Евгений in dlang.ru
нет, на самом деле вот так:
alias string = immutable(char)[];
источник

КП

Константин Пунш... in dlang.ru
Во всех языках string мутабельный, зачем жизнь новичкам усложнять
источник

Е

Евгений in dlang.ru
Хм, разве в плюсах std::string мутабельная строка?
источник

МВ

Макс Воробьев... in dlang.ru
да
источник

A

Alexander in dlang.ru
В пайтоне иммутабельный, и в v8 вроде
источник

КП

Константин Пунш... in dlang.ru
Чем это обусловлено
источник

g

gui in dlang.ru
начнём с того, что utf-8 хранится в массиве байтов, но символы там могут занимать и 2, и 4 байта
источник

DH

Dark Hole in dlang.ru
>во всех языках
Jva, jvascript, c#...
источник

Е

Евгений in dlang.ru
Ну и дешный string это все же не аналог std::string, скорее это аналог const(char)*
источник