Igor
https://www.meetup.com/St-Petersburg-CPP-User-Group/events/247816721 - на питерский С++ meetup 15 марта еще есть места. Разработчик Kotlin/Native будет рассказывать про их опыт с LLVM.
kitsu
а студенческие билеты есть?
Igor
При чем здесь студенческие билеты? Митап свободный для входа, только надо зарегистрироваться. Специально для студентов в конце обычно привозят пиццу :)
vladislav
ради пиццы и хожу
Stanislav
https://www.meetup.com/St-Petersburg-CPP-User-Group/events/247816721 - на питерский С++ meetup 15 марта еще есть места. Разработчик Kotlin/Native будет рассказывать про их опыт с LLVM.
о, университетская набережная, сходить чтоли, а то какие то предыдущие были в каких то далеких краях от метро
Igor
oh god https://wandbox.org/permlink/W2gFmieEbMqxWcbp такие чудеса можно отлавливать чем-то кроме сборки с -O0?
Stanislav
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84560
Dmitry
Очень недавно про это статей на хабре была.
Dmitry
Да, про выкидывание всего при оптимизации.
Dmitry
В том числе недавно здесь же помянутые ub overflow.
Dmitry
Linker error
Ignat
говорят, линукс на подобные оптимизации полагается местами
Dmitry
Брешут небось :)
Igor
перестаёт быть, если происходящее обмазать шаблонами, подлить условий, и положить внутрь функции на две сотни строк у нас сегодня вечером одну из конфигураций проги решили собрать под дебагом впервые за N времени и ниасилили, потому что там затесалось вот такое чудо, которое в релизе выбрасывается за счёт оптимизаций и никак себя не проявляет
Dmitry
Не дебажитесь ваще?
Igor
ожидаемым поведением будет "не вызывается - не используется - не сыпет ошибками" а тут оно вызывается, используется, но в одном единственном месте компилятор додумался что условие всегда ложно при текущем порядке вызовов
Igor
Не дебажитесь ваще?
дебажим другие конфигурации и под другими компиляторами
Dmitry
Так если так, значит всё ok?
Dmitry
Ведь условие вроде как ложно под любыми конфигурациями.
🐙 Antony
Тут форсят подобную штуку в стандарт C++ https://stellar-group.github.io/hpx/docs/html/hpx/manual/parallel/task_block.html Как вам?
Igor
Ведь условие вроде как ложно под любыми конфигурациями.
да, но "оптимизируется вон" оно только с -O2
Egor
Тут форсят подобную штуку в стандарт C++ https://stellar-group.github.io/hpx/docs/html/hpx/manual/parallel/task_block.html Как вам?
ну нормально, там и так в экзекуторах много всего вводится, обвязкой больше обвязкой меньше
🐙 Antony
Вот тут ещё больше веселья http://open-std.org/JTC1/SC22/WG21/docs/papers/2018/n4725.html Включая редукции и индукции
🐙 Antony
Spawned threads библиотечные пока что стрёмно. Включая std::async.
Давате сделаем вид, что std::async не существует в принципе... так будет лучше :)
Egor
к слову библиотеки с Future какие есть функциональные, но лёгкие?
Egor
HPX я глядел, там слишком большой объём
Alexander "SonnySlave"
вот же жести понапредлагают. Как там рефлексия в 2018?)
Dmitry
Давате сделаем вид, что std::async не существует в принципе... так будет лучше :)
Параллелизм в духе openmp это как то больше по тяжёлым вычислительным задачам. Тут ничего не скажу, больше жду поддержки чего то типа SEDA. Mpmc, spmc и вот это всё.
Igor
cilk ещё неплох, по-крайней мере показался таким когда я про него читал...
Дим
Ребят , народ профи. Сколько нужно убить времени на освоение программирования на достаточном уровне , что бы начать работать?(зарабатывать)
Дим
Вопрос профи*
Дим
Некое среднее значение, вот сколько потребовалось тебе?
🐙 Antony
Standard C++ Foundation - некоммерческая организация, способствующая развитию языка программирования C++ - проводит опрос разработчиков о возможностях языка и связанных с ним инструментов, которыми они пользуются и которых им, наоборот, не хватает: https://isocpp.org/blog/2018/02/new-cpp-foundation-developer-survey-lite-2018-02 Результаты опроса будут переданы в Комитет по стандартизации C++.
🐙 Antony
Хорошая возможность пожаловаться на отсутствие модулей и рейнжей
Ignat
монадок*
Ignat
https://www.youtube.com/watch?v=BFnhhPehpKw
Nikita
монадок*
В хане монадки
Dmitry
@antoshkka Антон, может в курсе, а boost intrusive_ptr не рассматривался в стандарт?
Дим
0
Хм?
Constantine
Хм?
Ответ на вопрос
Дим
Ответ на вопрос
Некорректный ответ же
Constantine
Ну ладно using namespace std::chrono_literals; return 0s;
Дим
Лол
Constantine
@antoshkka научите слать дефект репорты http://eel.is/c++draft/lower.bound#2 ошибочно: *j < value правильно: std::less<> () (*j, value); реализации std в ms и clang вызывают std::less. имеется разница в < и std::less для указателей http://eel.is/c++draft/expr.rel#3 http://eel.is/c++draft/comparisons#2
B
как называется инициализация memberов внутри класса? class A{ int a{5}; // <-- this }
Constantine
#supapro
Constantine
http://en.cppreference.com/w/cpp/language/data_members#Member_initialization
B
а, я просто невнимательный. уже был там, но не заметил. >non-static data member with initializer
Constantine
ну почему, почему в C++ нельзя алиасить имя функции?
Dmitry
ну почему, почему в C++ нельзя алиасить имя функции?
Сишной? Сделай враппер. Свой? Сделай класс.
Constantine
Сишной? Сделай враппер. Свой? Сделай класс.
Что враппер? Вот есть у меня функция. Её имя длиннее хвоста годзиллы. Я хочу сделать его короче.
Dmitry
Твоя функция?
Dmitry
Топор в руки.
Constantine
Моя, но там длина формируется шаблонными аргументами
Constantine
И все, что я хочу, это просто using для имени функции, как для имени класса, только для функции
Dmitry
Функтор?
Constantine
Какой функтор?
Dmitry
Ну шаблоны они же для краткости. Убить<Бабушка, Топор>
Dmitry
Откуда там имена длинные?
Constantine
Ну там неймспейсики бывают
Constantine
Аргументы сложные типа std::pair<std::string, std::vector<string»
Dmitry
Дык на то нам цпп даровал using.
Constantine
На неймспейсы using это сразу в ногу
Dmitry
Ну не прям неймспецсы, хелперы.
Constantine
угу, и все равно utils::global::read_resource<utils::global::main_thread_events_controller_interface> хорошо хоть в данном случае аргументы форвардятся
Constantine
а вот инициализаторы в C++ форвардится не умеют
Constantine
так что замечательное упражнение по программированию - написать функцию, которая задаст vector<pair<string, unique_ptr<int»>
Constantine
перечислением
Dmitry
Таки есть template using.
Constantine
?
Nikita
ну почему, почему в C++ нельзя алиасить имя функции?
В качестве воркэраунда можно вызов функции запихнуть в лямбду, саму же лямбду обозвать. Заинлайнится, да и не слишком громоздко.
Dmitry
Шаблоны могут быть сложны в написании, но лишь ради простоты использования.