Anonymous
Беру make и радуюсь жизни, для чего весь остальной сфот то?
Vladislav
Так что про сборку то?
Выбирай на свой вкус
Berkus
Беру make и радуюсь жизни, для чего весь остальной сфот то?
остальной софт чтобы например нормально собирать софт без ложных зависимостей, неправильной обработкий изменившихся файлов (не всё можно проверить по last modified date), и так далее...
Berkus
никак
gboost
Буфер вывода смотри
Berkus
естественно, если ты отдал окно GL context-у уж будь добр туда не лезть композь остальное поверх
Berkus
да, это подозрительно
gboost
С++11 какие книги посоветуете?
Anonymous
Страус трупа
Berkus
С++11 какие книги посоветуете?
посоветуем с++17, текущий стандарт типа
Andrey
посоветуем с++17, текущий стандарт типа
его начнут использовать только лет через 5 минимум
gboost
Мне нужно подтянуть упущенное. На русском, практическое.
Danil
Лучше сначала английский подтянуть
gboost
Перерыв в 3 года
Berkus
Мне нужно подтянуть упущенное. На русском, практическое.
ВСЁ, кратко https://github.com/AnthonyCalandra/modern-cpp-features
gboost
Благодарю ребята
gboost
С обобщенной парадигмой программирования читали что-то интересное?
🦥Alex Fails
александреску
Evgenii
александреску
жалко что он бросил плюсцы
Evgenii
в modern с++ он еще более жесткие вещи мог бы устроить
gboost
👍
Aidar
александреску
Купил одну из его книженц, ещё не открывал
Aidar
Жаль да
Igor
1) std::thread'ы нельзя создавать в состоянии "паузы", чтобы они не стартовали сразу же? 2) инициализация треда указателем на метод класса в конструкторе этого же класса - моветон?
Aidar
Это к 2)
Vladislav
1) нет, нельзя
Berkus
1) std::thread'ы нельзя создавать в состоянии "паузы", чтобы они не стартовали сразу же? 2) инициализация треда указателем на метод класса в конструкторе этого же класса - моветон?
1) Threads begin execution immediately upon construction of the associated thread object (pending any OS scheduling delays), starting at the top-level function provided as a constructor argument. есть дефолтный конструктор который ничего не выполняет, стартануть можно с помощью swap 2) можно, но не забудь в деструкторе заджойнить
Aidar
Стд мув ты хотел сказать
Berkus
я хотел сказать thread none; thread run(fun); std::swap(none, run);
Aidar
Зачем если есть мув
Aidar
И =
Aidar
Просто короче
Igor
@AsGreyWolf про мув не понял @berkus а не может случиться, что в методе произойдёт обращение к ещё неинициализированным переменным? или ты имеешь в виду, сунуть свап в самый конец конструктора?
Berkus
Зачем если есть мув
я хз чего он хочет, у него скорее всего вообще xyproblem
Aidar
thread a; a=thread(fun);
Aidar
Красивше
Berkus
Красивше
согласен
Igor
откуда в конструкторе непроинициализированные переменные
object() : thread{&object::func, this) , some_variable_used_in_func(123)
Aidar
И поля тоже
Igor
я хз чего он хочет, у него скорее всего вообще xyproblem
хочу чтобы при создании объекта в отдельном потоке запускался while(!should_finish){...}, и брякался при уничтожении объекта
Anonymous
ну инициализируй should_finish до thread и делов то
Igor
ну это ясен пень я скорее уточнял, что нет ли там подводных камней аля "нельзя передавать в тред поинтер на не до конца сконструированный объект, иначе UB"
Anonymous
камней нет, возвращайся в coding dungeon
Berkus
object() : thread{&object::func, this) , some_variable_used_in_func(123)
ты контролируешь порядок объявления полей в object, сделай так чтобы оно было уже инициализировано
Berkus
в кодерское подземелье, куда
Berkus
на рудники
Anonymous
на рудники
это к рубистам
Anonymous
у плюсовиков именно подземелье
Igor
в кодерское подземелье, куда
а, да с радостью, я тыщу лет таких милых задачек на собеседовании не получал, чтобы кодить одно удовольствие было :з
gboost
Есть примерный список навыков претендента на мидл+?
Danil
Где то тут проскакивала табличка с навыками
Danil
Попробуй погрепать чатик, мб найдешь
Igor
Ужасная задача для интервью, имхо
симуляция движения N шариков притягивающихся/отталкивающихся с силой 1/r-1/r^2, в одном потоке производить вычисления, в другом отрисовку и взаимодействие с юзером, писать через TDD горааааздо веселее бесконечных сортировок/обработок списков/вызовов виртуальных функций
🐙 Antony
Парни, зачем может пригодится ~T() = delete? Если вообще может.
Например, если хочется сделать namespace который никто не может расширять. Тогда можно написать struct my_ns { static void foo1(); static void foo2(); static void foo3(); ~my_ns() = delete; };
Igor
🐙 Antony
О! Таблички для занижения зарплатных требований соискателей подоспели
Vladislav
О! Таблички для занижения зарплатных требований соискателей подоспели
чего это сразу занижения? Может, у меня самооценка высокая, и вообще эффект даннинга-крюгера?
🐙 Antony
Порой при собеседованиях это весьма полезно (полезность зависит от собеседующего)
Max
чего это сразу занижения? Может, у меня самооценка высокая, и вообще эффект даннинга-крюгера?
Учитывая что там требуют знать доки наизусть и пояснять на собеседованиях на должность байтойоба/крудошлепа за каррирование и прочие интересные вещи — это именно табличка для поиска причин занижения зп
Kirill
Ну Ок, тебе ткнули на место из за чего тебе не дадут нужную зп, ты идешь дальше. Собственно это просто способ, не нужно думать, что не занизили бы без этой таблички
gboost
Классная таблица. Благодарю товарищи. Некоторые моменты можно подтянуть и на log(n) выйти.
ep
Не хватает O(1). Где можно посмотреть исходники написанного вами компилятора и операционной системы?
🐙 Antony
Например такие бессмысленные вещи как кучи фибоначи, пролог, эрланг, свой блог?
Александр
пролог очень похож на шаблоны
Александр
в частности, на SFINAE