Anonymous
Гх...
Anonymous
Хорошо.
Vitaliy ◀️TriΔng3l▶️
@Triang3l
Да. Может быть, это не очень удобно, но зато не привыкнешь выделять где попало
Vitaliy ◀️TriΔng3l▶️
Из-за чего у тебя в итоге аллокатор станет узким местом
Andrei
Короче рефкаунтер там atomic fetch_add
Alexander "SonnySlave"
Вопросов больше нет
🦥Alex Fails
Есть у подсистемы или под-подсистемы init, есть shutdown, они должны балансировать друг друга, вот и всё, точно не забудешь
это хороший путь, но кмк, он слишком тернист. Говорю, как человек, собравший кучу шишек на таких подсистемах) (частично это связанно с тем, что я, как и все люди, ошибаюсь, и в некоторых местах забывал добавлять зеркальный clean. Собственно ,из-за этой причины я своего бота почти сразу на C++ переделал, т.к. мне тупо надоело добавлять вручную очистки херни :) )
Anonymous
Anonymous
Гм... Харашо.
Anonymous
Anonymous
Если там внутри атомик счётчик.
🦥Alex Fails
это на атомарное изменение самого указателя
Anonymous
Ну, я спрашивал про безопасность счетчика ссылок.
🦥Alex Fails
Anonymous
Оно всё ещё может зарейсить с проверкой..
Andrei
Нет.
Andrei
Блин. Ты понимаешь разницу между атомарностью рефкаунтера и атомарностью самого объекта shared_ptr?
Andrei
Разные вещи совсем.
Anonymous
А, дошло, затупил, прошу простить.
Berkus
Berkus
Anonymous
Не умеешь буст - пиши с cpr
Не умеет переиспользовать подключения, да и у libcurl в принципе проблемы с производительностью возникают (сам не встречался, но наслышан).
Anonymous
Более того, я бы не хотел иметь в древе зависимостей две реализации HTTP, так как мне ещё надо оперировать веб-сокетами, у которых в добавок нет особо вариантов кроме ASIO-based.
Anonymous
Собственно, хочется задать вопрос, почему у C++ так худо с сетью?
Anonymous
Задачи не те? Сетевое I/O везде, ибо коммуникации. C++ позиционирует себя, как универсальный язык, в чём дело?
Anonymous
Да я всё ещё надеюсь на C++2a.
Anonymous
Модули, концепты, рефлексия, нетворкинг. Вот бы всё влили, да не успеют навернае.
Berkus
Не надейся, там будет асио
Berkus
Потому что асио это в целом хорошо
Berkus
Но раз ты его не умеешь - используй cpr
Anonymous
Надеюсь комитет имеет хоть каплю common sense и подрежет мелополезные мелочи дизайна.
Alexander "SonnySlave"
Anonymous
Да, с рефлексией там тяжко, слышал.
Alexander "SonnySlave"
повезёт, если рефлексия будет в С++23
Alexander "SonnySlave"
нетворкинг - не совсем понимаю, чего они там тянут с ним так
Anonymous
Жаль, я уже хотел SFINAE-хаки закапывать.
Anonymous
(я про трейты)
Alexander "SonnySlave"
Anonymous
Приживётся практика эмулировать рефлексию через концепты, уверен.
Anonymous
За эти три года между C++20 и C++23.
Anonymous
Получим аналог SFINAE-хаков, но чуть получше.
Anonymous
В итоге комитет прогнётся под легаси и будет менять концепты под эти хаки, вместо работы над важными вещами.
Anonymous
Я так думаю, что так же с SFINAE-хаками произошло.
Anonymous
Не ввели нормального средства, коммьюнити надо было средство, прижились костыли, от которых страдают все.
Vsevolod
@berkus я тоже хочу написать какой-то домашний проект на растике, для самообразования
Vsevolod
но ума не приложу, какой
Oleg
есть мнение, что если тебе нужна рефлексия, то ты хреново спроектировал приложение
Anonymous
Не думаю, что это касается нашего случая.
Anonymous
Трейты в C++ используются во многих вещах.
Сережа
Что в c++ называют трейтами?
Anonymous
Compile-time требования к типу, а точнее — функции для их проверки.
Anonymous
Посмотри содержимое стандартного хедера <type_traits>.
Alexander "SonnySlave"
Anonymous
Кстати да, валидный юзкейс.
Andrei
Лучшеб вместо ASIO полноценный корутинный AIO сделали.
Alexander "SonnySlave"
да, именно так. Именно поэтому от этого избавляться надо
Berkus
Andrei
Лишь бы не в шарпостиле.
Berkus
А чем тебе асинк авейт не нра?
Anonymous
На std::future вязать, топ будет.
Andrei
Слишком монадический, придется заражать типами всё вверх по колстеку. Старый код надо будет переписывать. Ну классические аргументы против.
Andrei
А на стейтфул корутинах НЕ awaitable-ных я писал тонны кода — это очень удобно.
Andrei
Пишешь — ни о чем не думаешь. Обычный синхронный код, а он «магически» работает как асинхронный.
Berkus
Ну это вроде забыли завезти, там co_await в пропозале же
Andrei
Andrei
Лучше бы раст-лайк каналы завезли.
Anonymous
Гм, ну хорошо, я его не использовал, что в нём не так?
🦥Alex Fails
Andrei
Ну, проблемы с ним начались еще с того момента, когда кажется PJ Plauger некомплаентно стандарту написал его деструктор.
🦥Alex Fails
а что не так с дтором
Andrei
В гнутых либстд и по стандарту деструктор у шареного объекта должен вызывать wait, а у мсвц он не вызывал.
🦥Alex Fails
Странно, конечно, что он нарушил стандарт, зная его.. нафиг он это сделал..
Andrei
Но это так, не очень большая беда. Больше всего критики конечно в том, что разворачивать и обрабатывать значение всё равно приходится в контексте владеющем фьючером.