ttldtor
Блин, только хотел сказать, что кодом на коллбэках тут никого не испугать, потому что большинство здесь имеют многолетний опыт... и зашёл студент...
Roman
Roman
ясно, так-что пока продолжаю писать API серверы на Go))
ttldtor
Насколько мне известно, все рано или поздно приходят к коллбэкам...
ttldtor
лямбда там будет, функтор... не важно. Просто это быстрее
ttldtor
Странно, почему Крис забросил https://github.com/chriskohlhoff/executors
Nikita
Вопрос к экспертам по C++20:
за что задепрекейтили std::is_pod ?
Dr. Friedrich
Не, это скорее про co_await или аналогичный механизм.
Александр
Вообще, подробнее есть в комментах к статьей на хабре, Антон там что-то отвечал
Roman
эта функция выполняется в goroutine'е:
go doBlockingStuff()
вся магия в том, что она не блокирует другие рутины своими блокирующими вызовами, за это отвечает go runtime scheduler
Anonymous
:)
Anonymous
Добро пожаловать. Снова.
Anonymous
☺️
Anonymous
Выучил стандарт? Сейчас сдавать будешь.
Matway
Стандарт нельзя выучить. Можно пытаться бежать, не слишком сильно отставая.
Berkus
Berkus
А теперь, дамы и господа, новейшие исследования в области указателей. Я представляю вам лучшее, что могла выдать двадцатилетняя тренировка в ган-ката
WEAK_UNIQUE_PTR
встречайте
https://github.com/telegramdesktop/tdesktop/blob/master/Telegram/SourceFiles/base/weak_unique_ptr.h#L60
Berkus
Anonymous
Александр
По-моему это называется observer_ptr
Anonymous
Anonymous
Эт да.
🦥Alex Fails
🦥Alex Fails
/cppref observer_ptr
FailsBot
http://en.cppreference.com/w/cpp/experimental/observer_ptr
Berkus
было бы логично его так и назвать
Александр
Жесть, конечно
Constantine
Constantine
почему название не "pointer wrapper"
Constantine
и конструктор не std::ptr(x) ?
Anonymous
почему название не "pointer wrapper"
It is intended as a near drop-in replacement for raw pointer types, with the advantage that, as a vocabulary type, it indicates its intended use without need for detailed analysis by code readers.
Constantine
Berkus
да ни в чем, просто заметное название
Constantine
ну pointer_wrapper имхо достаточно заметное
Anonymous
С моей точки зрения "pointer wrapper" не указывает на то, что он используется для "наблюдения" за объектом.
Berkus
Constantine
а в чем состоит суть наблюдения?
Constantine
It is intended as a near drop-in replacement for raw pointer types, with the advantage that, as a vocabulary type, it indicates its intended use without need for detailed analysis by code readers
Constantine
я не вижу здесь слово "observe"
Anonymous
В названии.
Constantine
ну и почему такое название
Berkus
любишь же ты до тараканов доебаться
Berkus
std::experimental::observer_ptr is a non-owning pointer, or observer. The observer stores a pointer to a second object, known as the watched object. An observer_ptr may also have no watched object.
Berkus
а ссылку открыть не можешь
Constantine
я не понимаю, почему нельзя унифицировать его make-метод с std::ref/std::cref в std::ptr и почему нельзя унифицировать название этого класса с reference_wrapper
Constantine
если по сути они выражают одно и то же с точностью до NullablePointer / NotNullablePointer
Anonymous
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3840.pdf
Anonymous
Вот крч.
Constantine
ссылки это замечательно, но вопрос остается вопросом
Constantine
и я полагаю, что в 11 страницах этого документа ответ на этот вопрос не приводится
Berkus
ну ты прочитай, чего гадать
Constantine
The next section exhibits the essential aspects of
observer_ptr
, our candidate for the
(facetious yet descriptive) title of “World’s Dumbest Smart Pointer.”
Constantine
ответ не содержится
Constantine
ну ты прочитай, чего гадать
к сожалению, есть достаточно большая группа личностей, которая будет кидать ссылки на 11 страниц документа вместо ответа на вопрос, при этом ответ в этом документе содержаться не будет
Vladislav
основной смысл observer_ptr'а - в названии, поясняющим семантику. pointer_wrapper теряет этот смысл
Berkus
Berkus
а расскажи, почему ты не пишешь на го? там гораздо менее токсичное коммьюнити
Alexander "SonnySlave"
ох что-то мне подсказывает, что комьюнити везде токсичное
Constantine
Berkus
boost.python? srsly?
Vladislav
Constantine
я название гуглил
Berkus
да пофиг, логика та же
> used to indicate reference semantics for pointers passed to Python callbacks.
видишь?
а observer_ptr показывает конкретно что этот указатель - обсервер
Constantine
в частности, я уверен, что shared_ptr который никогда не nullptr должен называться shared_ref
Constantine
Berkus
Berkus
ты про документацию слышал? вот это - часть документации
Berkus
Constantine
и меня все-таки категорически интересует, а ВСЕГДА НЕНУЛЕВАЯ версия, абсолютно идентичная reference_wrapper, должна называться observer_ref?
Viacheslav
Owner и observer — две абсолютно разные вещи.