"Жалко, что нам так и не удалось услышать начальника транспортного цеха" или надо уметь снимать такие видео и работать с несколькими микрофонами или если жалко поделится на Ютубе то и выкладывать не стоит.
Где на 1:07:05 неопределенное поведение? При обходе проверяем итератор на равенство итератору конца и перебрасываем на начало. А вообще поясните зачем столько городьбы, если можно использовать простую очередь и доп. индекс элемента в момент циклического обхода также не прибегая к указателям? Только ради "универсального решения" на все случаи жизни? ИМХО видео о том как сначала убрать говнокод из простейшей структуры данных, а затем обвешать ее абстракциями, чтобы все кто читает код сломали глаза :)
18:10 Можно было бы сделать проверку на пустоту входного параметра до создания вектора result? Спасибо за лекцию, очень интересно смотреть процесс рефакторинга от профессионала.
Создание вектора неизбежно т.к. функция должна что-то вернуть; благодаря NRVO создание вектора происходит in-place, т.е. почти бесплатно. Возвращение чего-то кроме result потенциально может помешать NRVO (на практике скорее всего компилятор справится)
первая половина доклада про то как хорошо использовать готовые алгоритмы и обобщенные приемы, а во второй давайте напишем свой boost::circular_buffer :D
Программа написанная под сервис для разгадывания капчи.Программа написана на С++ 6-8 версии. Ничем не упакована и не защищена.Исходника нет. При регистрации акаунта через программу в конце нужно кликнуть подтверждение (Я не робот) . Эту капчу программа не видит - следовательно регистрацию закончить невозможно! Этот момент нужно исправить За более подробной информацией пишите в ICQ - 681354647 Бюджет 100$
А можно вернуть два std/boost::span для в общем случае левого и правого диапазона. Дешево и сердито. 0 копирований. 0 велосипедов на враппинге итераторов.
На 21 минуте можно было использовать std::adjacent_find, кмк. Хотя с точки зрения семантики этого алгоритма, это некорректно, что повредит читаемости. Upd: сорри, дальше об этом будет сказано 🙂
Потому что не нужны плюсы. Для проганья всяких драйверов есть чистый Си. Для разработки приложений на ПК - Питон, Руби. Для кофеварок - Жава, и так далее. С++крипач же не нужен.
Как минимум BiTorrent и Blender на питоне писались. На линух не так мало приложений на питоне. Некислый процент игр (а они тоже технически приложения) на питоне написаны. За руби не скажу, т.к. сам его не изучал, но мне очень часто затирали, что это "убийца питона", хз, насколько правда, руки сравнить так и не дошли.
Да вы, (вдох, выдох.. вдох, выдох). Да, совершенно верно, мы об этом говорили держите мячик. Но я не услышал человека..
Чтобы услышать человека, надо покупать билет и присутствовать лично, а не нахаляву пытаться в ютубе узнать что-то
аргумент века
@@balalaika7365 не нужно пытаться нахаляву на ютубе протолкнуть свой контент :-)
Вот такая живая беседа упрочняет знания и умения 👍👍👍
Кто не знает - учит. Кто не умеет - делает.
Спасибо за чудесную лекцию, заставляющую еще глубже нырнуть в плюсы!
организаторам неуд. могли бы текстом на видео фразы из зала написать.
42:17: if (i >= points.size()) I = 0 можно заменить на i %= points.size()
тут даже нет смысла в делении, можно -= делать
point надо vector< int>::size_type
"Жалко, что нам так и не удалось услышать начальника транспортного цеха" или надо уметь снимать такие видео и работать с несколькими микрофонами или если жалко поделится на Ютубе то и выкладывать не стоит.
Самое классное в презентации Михаила - это мячики. Никто не зевает, все работают. Некоторые даже апелляцию подают =)))
Ценность этого видео стремится к нулю. Очень интересно смотреть на выступающего, который что-то обсуждает с невидимыми и неслышными собеседниками.
так смешно, жалко что ничего не слышно
Где на 1:07:05 неопределенное поведение? При обходе проверяем итератор на равенство итератору конца и перебрасываем на начало. А вообще поясните зачем столько городьбы, если можно использовать простую очередь и доп. индекс элемента в момент циклического обхода также не прибегая к указателям? Только ради "универсального решения" на все случаи жизни? ИМХО видео о том как сначала убрать говнокод из простейшей структуры данных, а затем обвешать ее абстракциями, чтобы все кто читает код сломали глаза :)
18:10
Можно было бы сделать проверку на пустоту входного параметра до создания вектора result?
Спасибо за лекцию, очень интересно смотреть процесс рефакторинга от профессионала.
Создание вектора неизбежно т.к. функция должна что-то вернуть; благодаря NRVO создание вектора происходит in-place, т.е. почти бесплатно. Возвращение чего-то кроме result потенциально может помешать NRVO (на практике скорее всего компилятор справится)
Спасибо за ответ, пойду гуглить про NRVO.
:D гуглите Copy Elision, вот например - en.cppreference.com/w/cpp/language/copy_elision
первая половина доклада про то как хорошо использовать готовые алгоритмы и обобщенные приемы, а во второй давайте напишем свой boost::circular_buffer :D
Программа написанная под сервис для разгадывания капчи.Программа написана на С++ 6-8 версии. Ничем не упакована и не защищена.Исходника нет.
При регистрации акаунта через программу в конце нужно кликнуть подтверждение (Я не робот) . Эту капчу программа не видит - следовательно регистрацию закончить невозможно! Этот момент нужно исправить
За более подробной информацией пишите в ICQ - 681354647
Бюджет 100$
Шикарная лекция.
А можно вернуть два std/boost::span для в общем случае левого и правого диапазона. Дешево и сердито. 0 копирований. 0 велосипедов на враппинге итераторов.
Илюха пришел налутать мячиков=))
@33:00
Возвращая points можно жестко обломать RVO...
На 21 минуте можно было использовать std::adjacent_find, кмк. Хотя с точки зрения семантики этого алгоритма, это некорректно, что повредит читаемости.
Upd: сорри, дальше об этом будет сказано 🙂
Чем больше я смотрю на плюсы тем меньше мне хочется с ними связываться !!!
это от недообследованности
Потому что не нужны плюсы. Для проганья всяких драйверов есть чистый Си. Для разработки приложений на ПК - Питон, Руби. Для кофеварок - Жава, и так далее. С++крипач же не нужен.
Приложения на ПК - питон и руби? Вы смеетесь? Назовите хоть одно серьезное приложение, написанное на питоне или руби.
Как минимум BiTorrent и Blender на питоне писались. На линух не так мало приложений на питоне. Некислый процент игр (а они тоже технически приложения) на питоне написаны. За руби не скажу, т.к. сам его не изучал, но мне очень часто затирали, что это "убийца питона", хз, насколько правда, руки сравнить так и не дошли.
BitTorrent - это не серьезное приложение, а так, утилитка простая. Вы Word напишите на питоне, тогда поверю.
Людей не слышно, докладчик спорит сам с собой
Зачем плюсы нужны . Все решается проще на C
Зачем Си нужон. Все решается проще на Ассемблере
А зачем эти ваши высокоуровневые ассембляры нужны? Все решается проще опкодами для определённой архитектуры
Зачем микропроцессоры нужны. Все решается на дискретной логике