
Alexander
16.05.2018
14:37:39
очень интересное поведение

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

Anatoly
16.05.2018
14:40:37

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 противоречит его принципу работы

Max
16.05.2018
14:53:51
я даже с ним игрался

Alexander
16.05.2018
14:54:08

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

Aidar
16.05.2018
15:02:10

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

Constantine
16.05.2018
19:12:27

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