Andrei
В общем случае нельзя сказать, что табличка лучше.
Andrei
Ходить в память дорого.
Sasha
Switch?
Nikita
Это еще вопрос, что быстрее. Ифы или табличка.
так там всё равно лесенка ифов с джампами, еще и конвеер поломается
🐙 Antony
Ходить в память дорого.
Верно. Но код тоже лежит в памяти, и if + call + ret - тоже не очень эффективно
Anatoly
материалы CppCon2017: https://github.com/CppCon/CppCon2017
usernameak
🦥Alex Fails
Потому что в стандарте написано, что все идентификаторы, начинающиеся с '_' зарезервированы
Anonymous
namespace _detail в глобале тоже получается?)
🦥Alex Fails
может совпасть с деталькой компилятора
Anatoly
В suparpo.cxx зашел разговор о clang под windows. С Visual Studio 2015 Update 1 его можно использовать: https://blogs.msdn.microsoft.com/vcblog/2015/12/04/clang-with-microsoft-codegen-in-vs-2015-update-1/
🐙 Antony
Если кому для экспериментов, то есть вот такая замечательная скачка на офф сайте: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines
Александр
позиционировали как тестовые машины для IE
🦥Alex Fails
о, клево
Anonymous
Если кому для экспериментов, то есть вот такая замечательная скачка на офф сайте: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines
Обязательно следует учитывать, что использовать их можно только для тестирования работоспособности веб-сайтов во встроенном браузере MSIE/Edge. Для всего остального уже запрещено лицензией.
🦥Alex Fails
Т.е. можно годболт открыть)
Anonymous
Причём сами Microsoft рекомендуют откатываться на снапшот каждые 90 дней: These virtual machines expire after 90 days. We recommend setting a snapshot when you first install the virtual machine which you can roll back to later.
🦥Alex Fails
Лол
Anatoly
:)
Berkus
ну это разумно
Berkus
не мешает использовать для тестов но зато эффективно отсекает нелицинзионное использование
Dumitru
всем привет тут вопрос появился про потокобезопасность class A { Obj a; A(const Obj& arg) : a(arg){} } может быть такое что мы создаем обьект класса А, и пока копируется аргумент в член класса, другой поток удаляет тот самый аргумент?
Anonymous
вполне
Dumitru
я как раз хочу это вызвать это без умных указателей
Anonymous
All member functions (including copy constructor and copy assignment) can be called by multiple threads on different instances of shared_ptr without additional synchronization even if these instances are copies and share ownership of the same object. If multiple threads of execution access the same shared_ptr without synchronization and any of those accesses uses a non-const member function of shared_ptr then a data race will occur; the shared_ptr overloads of atomic functions can be used to prevent the data race.
Anonymous
как-то мех
Aidar
а shared_ptr разве синхронизируется?
у него счетчик синхронизируется
Aidar
а сам нет
Aidar
счетчик атомарен
Berkus
счетчик только за счет атомиков синхронизируется
Александр
All member functions (including copy constructor and copy assignment) can be called by multiple threads on different instances of shared_ptr without additional synchronization even if these instances are copies and share ownership of the same object. If multiple threads of execution access the same shared_ptr without synchronization and any of those accesses uses a non-const member function of shared_ptr then a data race will occur; the shared_ptr overloads of atomic functions can be used to prevent the data race.
Вообще логично. Когда работаешь с умным указателем, тебя не волнует, что там под капотом с точки зрения счётчиков и других копий, указывающих на объект. Инкапсуляция в действии. А вот уже с одним и тем же - будь добр, как с обычным объектом
Anonymous
определенные условия - это обработчики сигналов?
Berkus
причем тут обработчики сигналов?
Александр
Жесть
Anonymous
причем тут обработчики сигналов?
ну они так вызываются интересно, я так дедлок поймал
Berkus
da
шта
Александр
Ну вообще да, сигналы имеют свойство прилетать в любой момент
Billy
причем тут обработчики сигналов?
ну а как еще произойдет прерывание контекста в момент когда конструктор создает объект и оток один? или я брежу ?!
Berkus
вы про unix signals?
Anonymous
а, ну, да
Berkus
но там вообще очень жестко с тем что можно вызывать а что нельзя
Berkus
то есть просто так фигачить с++ объекты в сигналах уже плохая идея
Anonymous
ну я мютекс в обработчике умудрился заблокировать)
Billy
очень плохая. Но такое делают
Anonymous
ну я мютекс в обработчике умудрился заблокировать)
точнее, заблокировал бы, так он уже был заблокирован
Anonymous
Рекурсивный в помощь
мм, напомни? это тот, который можно несколько раз блокировать из одного потока?
Anonymous
запомню, но там кейс по-сложнее был, начинать вторую операцию, при наличии незавершенной — всё сыпется
Berkus
Reentrant вкратце
не только. там довольно длинная телега в мане про то, что ЗАПРЕЩЕНО в принципе в обработчиках сигналов
Berkus
список там длиннее чем то, что разрешено
Anonymous
ну я вообще криминал, я там как минимум память выделяю
Александр
не только. там довольно длинная телега в мане про то, что ЗАПРЕЩЕНО в принципе в обработчиках сигналов
Это да. Но для этого можно заранее всё выделить, например. А вообще там половина либы запрещена, только системные вызовы некоторые можно спокойно поюзать
Burado
Ребят, какие плагины для автодополнения в vim юзаете?
Burado
YouCompleteMe
А ещё? Я этот прост поставить не могу.
Burado
Не могу, рили.
Burado
Burado
Есть готовые сборки? Над ща глянуть.
Burado
Это?