Size: a a a

2021 January 15

O

Oleg in dlang.ru
этот момент про внутренности gcc string
и если у тебя есть только postblit, то ты в попе
источник

OB

Oleg B in dlang.ru
Oleg
этот момент про внутренности gcc string
и если у тебя есть только postblit, то ты в попе
для меня платиновая тема: зачем нужен move?)
источник

OB

Oleg B in dlang.ru
это по сути обход проблемы глубокого копирования (которое в контейнерах С++ сделали по умолчанию, потому что за памятью следить сложно), D глубоко не копирует, память под контролем GC, если бы не интеграция с С++, то вообще об этом можно было бы не думать
источник

OB

Oleg B in dlang.ru
а так вроде для этого как раз конструктор копирования, чтобы в нём вызвать opPostMove
источник

OB

Oleg B in dlang.ru
Oleg B
а так вроде для этого как раз конструктор копирования, чтобы в нём вызвать opPostMove
но это не точно
источник

МВ

Макс Воробьев... in dlang.ru
Oleg B
это по сути обход проблемы глубокого копирования (которое в контейнерах С++ сделали по умолчанию, потому что за памятью следить сложно), D глубоко не копирует, память под контролем GC, если бы не интеграция с С++, то вообще об этом можно было бы не думать
не только. ты же не можешь например несколько раз открыть один сокет
источник

МВ

Макс Воробьев... in dlang.ru
соотв копировать такой сокет - немного ошибка
источник

МВ

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

МВ

Макс Воробьев... in dlang.ru
"D глубоко не копирует, память под контролем GC" тут скорее второе. в ++ тоже можно кидаться указателями и не копировать
источник

МВ

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

DH

Dark Hole in dlang.ru
Макс Воробьев
не только. ты же не можешь например несколько раз открыть один сокет
Можно сделать классом или указателем, не?
источник

OB

Oleg B in dlang.ru
Макс Воробьев
не только. ты же не можешь например несколько раз открыть один сокет
вся эта история от желания уйти от GC и обернуть всё в стрктуры
источник

OB

Oleg B in dlang.ru
Dark Hole
Можно сделать классом или указателем, не?
вот и решение
источник

МВ

Макс Воробьев... in dlang.ru
есть shared_ptr, но копирование shared_ptr вместо мува - это сначала увеличить атомарную переменную на 1, потом сразу уменьшить
источник

OB

Oleg B in dlang.ru
в java, C#, я думаю, вообще такой проблемы нет
источник

OB

Oleg B in dlang.ru
Макс Воробьев
есть shared_ptr, но копирование shared_ptr вместо мува - это сначала увеличить атомарную переменную на 1, потом сразу уменьшить
в D нет shared_ptr
источник

МВ

Макс Воробьев... in dlang.ru
а в ++ нет gc и связанных накладных расходах
источник

OB

Oleg B in dlang.ru
Макс Воробьев
а в ++ нет gc и связанных накладных расходах
накладные расходы на голову зато)))
источник

МВ

Макс Воробьев... in dlang.ru
Oleg B
накладные расходы на голову зато)))
дело привычки
источник

МВ

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