@ProCxx

Страница 2057 из 2477
Alexander
16.05.2018
14:37:39
очень интересное поведение

Ned Ogl
16.05.2018
14:38:12
у меня класс-менеджер устройства. я хочу по деструктору отправить ему "досвидос" через Modbus, который в свою очередь юзает COM-порт вот тред завершается, деструктор наступает, а Modbus-объекта уже и нету((((

Aidar
16.05.2018
14:43:47
Типа в D не завезли raii?

Google
Aidar
16.05.2018
14:44:06
Интересно чем руководствовался александреску когда уходил в него

Alexander
16.05.2018
14:45:42
видать, ему хотелось нормального метапрограммирования

Aidar
16.05.2018
14:46:12
Ну там Саттер чтото мутит лучшеб ему помог

Alexander
16.05.2018
14:47:09
ну в D уже завезли, а в крестах всё нет да нет....

Aidar
16.05.2018
14:47:47
Кстати куда pro.dlang пропал

Spoonson
16.05.2018
14:48:44
гц собрал

Alexander
16.05.2018
14:50:06
на самом деле я был бы не против GC в крестах. но я видел пока что только один проект более-менее на эту тему (и да - он мёртв)

Anatoly
16.05.2018
14:53:01
блин, но что-то в такие косяки слабо верится в D

такое поведение GC противоречит его принципу работы

Alexander
16.05.2018
14:54:08
есть же boehmgc
так он как раз таки и мёртв вроде

Max
16.05.2018
14:54:13
неа

Google
Max
16.05.2018
14:54:17
в моно юзают его

в самом gcc

Alexander
16.05.2018
14:54:35
не-не, юзают и жив - разные вещи. а можно ссылку на актуальное состояние?

Max
16.05.2018
14:54:50
я с гитхаба качал

так и зовется репозиторий

с чего взял что умер? \

это просто старый проект там типо все давно работает

хз есть ли баги

но у меня все работало четко

я хотел на нем замутить самописный скриптовый движок

но потом забил

Alexander
16.05.2018
14:56:41
хм, вижу... странно. тогда почему думал, что он помер?... моя ошибка, извиняюсь

и спасибо за инфу

Max
16.05.2018
14:57:25
он и деструкторы умеет сам звать и там циклические ссылки собирать, правда там надо его пнуть для этого, из коробки не собирает

GC_register_finalizer_no_order зарегать надо. вспомнил

тогда все собирает

но вообще при наличии деструкторов как собирать циклические ссылки? вот если например А и Б друг на друга ссылаются, вызвал деструктор А, а на него обьект Б ссылался?

че делать с полем?

Anatoly
16.05.2018
15:01:38
слабо себе представляю как можно променять строго детерминированный цикл жизни объекта в C++ на непредсказуемый.

Max
16.05.2018
15:01:54
вдруг в деструкторе образаются к полю, а там обьект уже протух

Google
Anatoly
16.05.2018
15:02:11
почему тогда не жавка?

Max
16.05.2018
15:02:15
поэтому по умолчанию в боеме отключена сборка циклических ссылок

Aidar
16.05.2018
15:02:28
почему тогда не жавка?
Потомучто у нее так себе экосистема

Anatoly
16.05.2018
15:02:40
Ну с шрд птрами же делаете такое
момент смерти объекта строго детерминирован, тем не менее

Aidar
16.05.2018
15:03:04
Строго детерминирован данными сгенериреными в процессе работы?

Чот такое себе

Anatoly
16.05.2018
15:03:30
Aidar
16.05.2018
15:03:52
Не, именно данными(счётчиком)

Max
16.05.2018
15:04:41
вообще мне кажется в джаве гц впилили больше по причине того что компилятор писать проще. я когда сам пробовал компилер писать ощутил на своей шкуре. прикиньте привыходе из скоупа любом надо генерить код вызова деструкторов. а в ЯП с гц не надо, само потом удалится. профит? с другой стороны для обьектов которые всегда на стеке надо городить гц с поколениями. вместо того чтобы просто позвать деструкторы когда управление вышло из скоупа

а выходы из скоупа бывают нетривиальные. толи континуе в цикле или брек, толи в свитче, толи исключение. и все надо обработать

а еще есть область видимости в заголовке цикла фор

Admin
ERROR: S client not available

Max
16.05.2018
15:06:53
понимаю разрабов, прошще плюнуть и впилить гц

как gcc писали я хз марсиане какието

Aidar
16.05.2018
15:08:01
Не, именно данными(счётчиком)
Окей ладно я могу сказать что ещё определено где он есть но не определено где его нет

Дед Пегас
16.05.2018
15:08:21
Предложения о работе в отдельный канал через постель с @AlexFails

Igor
16.05.2018
15:08:41
Интересная статья https://akrzemi1.wordpress.com/2018/05/16/rvalues-redefined/. "In this post we will explore what I consider the most significant language change in C++17" - это автор про guaranteed copy elision, который позволяет возвращать объекты классов без copy/move конструкторов из функций. Нет move конструктора -> нет moved from состояния -> логика в классе упрощается.

Matwey
16.05.2018
15:08:53
В узлах деки в деках строки в строках утка, в утке яйцо, в яйце игла, а на конце иглы смерть кощеева

Евгений
16.05.2018
15:11:06
Мехмат?)

Google
Evgeniy
16.05.2018
15:51:17
не знаю было ли тут уже

C++ Insights is a new Clang-based tool by Andreas Fertig which tries to reveal the sort of "magic" the compiler does behind the scenes, e.g. compiler provided functions or automatic downcasts. It does this via a source-to-source transformation. Be sure to check out the online demo. https://github.com/andreasfertig/cppinsights https://cppinsights.io/

Matwey
16.05.2018
17:53:00
Господа, вот в языке C есть такой паттерн стрельбы в ногу. (Встречается например в ядре Linux). Есть такая структура, внутри которой размещается другая структура: struct base { // ... struct nest m; // ... }; И есть указатель типа struct nest*. Тогда, предварительно помолясь и считая, что мы имеем дело со стркутурой хранимой внутри другой структуры, вычиаем смещение offsetof(struct base, m) и преобразуем к указателю struct base*. Получаем доступ ко всем членам struct base. А вопрос в следующем. Можно ли сказать, что с точки зрения конечного кода при доступе к элементам есть некоторые параллели с множественным наследованием?

Вопрос носит сугубо академический характер

Dmitry
16.05.2018
18:08:43
boost intrusive, там что то вроде этого, member hook

Альтернатива ему base_hook

Наследование вроде не множественное...

Хотя если включить в насколько контейнеров, как раз оно. Либо разные member hooks либо разные через тегирование base hooks.

Matwey
16.05.2018
18:20:04
Вот не могу понять, есть ли теоретическая возможность совсем исключить этот C-шный паттерн. Т.е. сказать, во всех возможных случаях в C++ это однозначно делается так-то и так-то.

Constantine
16.05.2018
18:20:25
это же не множественное наследование

это просто наследование

и static_cast

Alex
16.05.2018
18:20:31
Вопрос носит сугубо академический характер
Считаю что нет, множественное наследование - это все же некоторая программная абстракция. В данном случае тебе нужно будет все равно явно учитывать смещение

Alexander
16.05.2018
18:32:12
Konstantin а в чём причина такого странного рецепта к Wt в бинкрафтерах?

Dmitry
16.05.2018
18:35:25
Считаю что нет, множественное наследование - это все же некоторая программная абстракция. В данном случае тебе нужно будет все равно явно учитывать смещение
Да, компиляторы емнип даже по разному относятся к empty base при множеством наследовании. Могут схлопнуть а могут и нет.

Dmitry
16.05.2018
19:17:08
Одну точно, а вот две помнится msvc не схлапывал.

Страница 2057 из 2477