Aidar
Следовательно не понятна архитектура приложения целиком
Andrew
Там внутри атомарный счетчик
Я для доступа к строке буду ходить по обычному указателю. Атомарный счетчик будет задействован только при создании/копировании/удалении, что в современной действительности c move semantics + copy ellision + ... будет происходить не так уж часто.
Andrew
Следовательно не понятна архитектура приложения целиком
Мне кажется, это могут быть проблемы твоего восприятия. В мое нормально укладывается модель "последний уходящий закрывает дверь^W^W убивает объект".
Aidar
А в мое нет
Aidar
Дверь должен закрывать деструктор комнаты
Andrew
Дверь должен закрывать деструктор комнаты
Плохая и неверный аналогия. В плюсах дверь закрывает и уничтожает объект обычно его владелец, который действительно обычно 1. Это не значит, что невозможны другие сценарии.
Aidar
Да и слово последний это уже отсылка к последовательности действий
Andrew
Да и слово последний это уже отсылка к последовательности действий
Которая есть, ведь атомики. Я не вижу логической проблемы.
Aidar
Да и слово последний это уже отсылка к последовательности действий
Это не структурная последовательность а задокументированная
Aidar
В случае с контекстом она структурная
Aidar
Грубо говоря все знают что если комнаты нет то дверь закрылась
Andrew
У меня нет проблемы с тем, что объект может пережить контекст, в котором был объявлен, если он потом все-равно гарантированно будет уничтожен. Я правильно понял, что для тебя проблема в этом?
Aidar
Это плохой дизайн для меня
Andrew
Видимо, на вкус и цвет.
Aidar
иногда начинаешь скучать по боли в ноге
Andrew
Не все стрелки делали это по желанию. Иногда, лучше предусмотреть в конструкции предохранитель, если ты уверен, что он не создаст проблем со скоростью достал-выстрелил.
Square
Блин, вы про все то же?!
Square
Кастомный аллокатор все разрулит
Andrew
а потому что с практической точки зрения container<std::string> + std::string_view гораздо эффективнее container<std::shared_ptr<std::string>> + shared_ptr_string_view
Я понял, что мне не особо понравилось в самом существовании контейнера на верхнем уровне: он вообще не должен ничего знать о своем сроке жизни, и умирать должен, по хорошему, когда все вьюхи на него померли. Его уместно сравнить с прокси-объектом доступа к ресурсу — пока хоть кому-то нужен ресурс, этот объект должен жить. Как только последний пользователь ушел, он должен закрыть ресурс и умереть (дропнуть базу/соединение/пулл строк). Наверное, в этом месте было основное различие в понимании. Без shared_ptr такие вещи действительно обычно располагаются на высоком уровне, где их деструктор будет гарантированно вызван после сметри всех пользователей, тут вы скорее правы. Спасибо за разъяснение! (конец холивора)
🐙 Antony
Я просто оставлю это здесь: https://www.phoronix.com/scan.php?page=news_item&px=45-Linux-Kernel-CXX-Patches
Egor
вот это норм шутеечка (или не шутеечка)
Denis
какие шутки
Egor
скорее фак ю
Denis
в 21 стандарте не будет указателей
Igor
*в 23
Igor
в 20 они просто станут deprecated
🐙 Antony
И Линус такой "ок, мержим".
Вот тут явно стало лучше: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1653332.html
blow
что обсуждаем?
🙃
Ладно, не буду оскорблять чувства Страуструппа
Крылатый
Вот тут явно стало лучше: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1653332.html
Жесть. Но не зря ж такую фигулину наворотили же.
Крылатый
А, не, зря.
Igor
Вот тут явно стало лучше: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1653332.html
слишком толсто, а вот в c-compliant-way убрать все баги, мешающие сборке на плюсовом компиляторе - было бы эпично
Александр
в 20 они просто станут deprecated
Ну так это же шутеечка к 1 апреля
🦥Alex Fails
Вот тут явно стало лучше: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1653332.html
Да. Это гуд патч, +. В сижке я обычно эмулировал шаблоны макросами😄 шоб такое не писать
Anonymous
Другие чаты 🕶 @ProCxx – чат для серьезных вопросов; 📚 @ProCxxLib – библиотека книг по языку C++, проектированию и программированию; 📰 @ProCxxNews – новости из мира C++, интересные статьи и пр. 🏗 @ProAlgorithms – чат по обсуждению вопросов проектирования, архитектуры программного обесепечения; 🌔 @ProLua – чатик по скриптовому языку Lua; 🤗 @fludpac – флудилка, чат по обсуждению всего; 🗯 @xthon – канал с цитатами участников pro.* 👥 @prodot – канал pro.*; 🌞 @flood – общий флуд канала @prodot; 🎓 supapro.cxx – чат помощи для новичков; 🌿 pro.git – чат по обсуждению Git; ⚔ pro.cxx.holywars – чат для любителей холиваров; 🕷pro.net – чат по .NET Framework; 🐧pro.linux – чат по Линуксу; 👾pro.linux.old – самая первая группа из коллекции pro.*. Вход по инвайтам, т.к. создатель группы удалился из telegram; 🖼 Opengl / opencl / Vulkan / etc gamedev – no-flood-чат по опенглу и пр. Читайте правила при входе! Пока не в системе pro.* English chats ❤️ @undertale_chat – chat about the Undertale game; 🇬🇧 pro.english – chat about learning English.
Danil
Верните мальчика , я ему подсказать хотел shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll
Egor
+, сообщение хотя бы первое не трите, чтобы списаться можно было
Damian
я тута
Danil
я тута
plugin_debugger.dll установите
Damian
plugin_debugger.dll установите
спс за направление куда копать
🦥Alex Fails
А для проггерских вопросов @pro_prog 😊
🦥Alex Fails
Ща
Anatoly
#computerscience #spb #pomi В Computer Science клубе при ПОМИ (Фонтанка 27 (ПОМИ РАН), второй этаж, Мраморный зал) 7 апреля в 17:15 начинается курс лекций “Эффективные параллельные алгоритмы: методика BSP”: https://compsciclub.ru/courses/parallelalgo/2018-spring/about/
Максим
Кто скажет почему при считываении информации с текстового файла в двоичном режиме перед eof(), gcount() говорит, что считано столько симфолов сколько осталось, а по факту считывает столько сколько вмещается туда куда считывают.
Максим
Все понял
Максим
Можете не писать
Крылатый
Напиши решение!
Andrew
Здравствуйте! Кто какими best practices по CMake пользуется? Буду очень благодарен за проверенный гайд\туториал.
Vladislav
Igor
^ раз два https://www.youtube.com/watch?v=eC9-iRN2b04 три https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/
Anatoly
Нет
https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1
Igor
nu takoe sebe pravilo :)
когда есть какой-нибудь рабочий понятный мезон или б2 - правило как правило, под пиво сойдёт
Alexander "SonnySlave"
b2? no-no-no
Vladislav
nu takoe sebe pravilo :)
А мне норм. На новой работе мигрировали проект с симейка на базель и довольны как слоны
Крылатый
why?
Чтобы conan не использовать
Igor
b2? no-no-no
ну или как его, не бустовский, а который пишет один интузиаст с реддита
Andrew
просто мой опыт работы с bazel это сборка tensorflow для python и только
Alexander "SonnySlave"
Чтобы conan не использовать
ну вот только даун ыне пользуют пакетные менеджеры
Vladislav
why?
Производительность, особенно для инкрементальной сборки, адекватный DSL вместо велосипеда - как минимум. Удобнее писать свои тулы к нему.
Anatoly
Производительность, особенно для инкрементальной сборки, адекватный DSL вместо велосипеда - как минимум. Удобнее писать свои тулы к нему.
а что с ним делать, если выходишь за пределы фирмы? дефакто cmake стал основным средством описания проектов C++. а инкрементная сборка прекрасно обеспечивается всякими студиями и т.п.
Максим
long x = 1; x = x«32; почему так работает а так нет x = 1«32;?
Sergey
1ll << 32