Здравствуйте, Cyberax, Вы писали:
C>reductor wrote:
>> ПК>Пожалуй, правильнее говорить об управлении временем жизни объектов,
>> с чем C++, действительно, справляется лучше ряда других языков
>> благодаря детерминированному разрушению объектов. GC этой задачи не
>> решает.
>> Я все же не понимаю кое-чего. Для каких задач нужно такое управление?
C>Например, если нельзя допускать пауз GC и большого оверхеда
C>конкурентного GC. Или если существуют гораздо более эффективные методы
C>управления памятью для данной задачи (preallocated пулы, например). Или
C>если требуется детерминированое уничтожение объекта.
Вы на чей вопрос здесь отвечаете?
Я спрашивал для каких задач. Конкретнее.
Опять же, про паузы интересно.
http://www.ocaml-tutorial.org/garbage_collection
Эффективное управление...
>> Но даже если так, почему С++ здесь справляется лучше тех языков, у
>> которых нет проблем с алиасингом?
C>А в С++ нет проблем с алиасингом. Более того, он тоже успешно
C>используется для некоторых трюков.
Переведите
C>Вот вам прямо с About Haskell
Что вы хотели сказать цитированием мне этого sales talk десятилетней давности?
>> Окамла, у которого очень прогрессивный копирующий GC при котором куча
>> всегда утрамбована и который еще и полностью управляемый?
>> Или чем С++ здесь лучше Cyclone c его регионами и прочим?
C>А говорите "выучить язык за пару дней"...
Говорю.
C>В С++ продумано взаимодействие аллокаторов, стандартных контейнеров,
C>алгоритмов и т.п. Например, как мне поместить в контейнер OCaml'а
C>объект, созданый в блоке shared memory? Причем указатели в этом объекте
C>представлены в виде смещений относительно начала блока, а null pointer
C>представлен в виде указателя со смещением -1.
Вы будете продолжать фантазировать или хотя бы прочитаете мануал по окамлу?
А то мало того, что придумываете жуть всякую, еще и жуть, которая к особенностям языка (в том числе и С++) вообще не относится.
Указатели, объекты, shared memory... мнда.
И кстати.
http://www.haskell.org/ghc/docs/latest/html/libraries/base/Foreign.html