C++ Russia 2017: Михаил Матросов, Повседневный С++: алгоритмы и итераторы

Поделиться
HTML-код
  • Опубликовано: 16 янв 2025

Комментарии • 69

  • @АндрейЧуев-с4м
    @АндрейЧуев-с4м 7 лет назад +39

    Да вы, (вдох, выдох.. вдох, выдох). Да, совершенно верно, мы об этом говорили держите мячик. Но я не услышал человека..

    • @balalaika7365
      @balalaika7365 7 лет назад +1

      Чтобы услышать человека, надо покупать билет и присутствовать лично, а не нахаляву пытаться в ютубе узнать что-то

    • @MrMaksibon
      @MrMaksibon 7 лет назад +28

      аргумент века

    • @IExSet
      @IExSet 3 года назад

      @@balalaika7365 не нужно пытаться нахаляву на ютубе протолкнуть свой контент :-)

  • @СтаниславЧуриков-н5щ

    Вот такая живая беседа упрочняет знания и умения 👍👍👍

  • @ilgizilgiz
    @ilgizilgiz 3 года назад +4

    Кто не знает - учит. Кто не умеет - делает.

  • @AlexanderRibchansky
    @AlexanderRibchansky 5 лет назад +3

    Спасибо за чудесную лекцию, заставляющую еще глубже нырнуть в плюсы!

  • @VeloVetal
    @VeloVetal Год назад +1

    организаторам неуд. могли бы текстом на видео фразы из зала написать.

  • @Александр-ч2т2ж
    @Александр-ч2т2ж 4 года назад +2

    42:17: if (i >= points.size()) I = 0 можно заменить на i %= points.size()

    • @niki4smirn
      @niki4smirn 2 года назад

      тут даже нет смысла в делении, можно -= делать

  • @IgorPolozov-uu5fn
    @IgorPolozov-uu5fn 5 месяцев назад

    point надо vector< int>::size_type

  • @hmixa
    @hmixa 4 года назад +6

    "Жалко, что нам так и не удалось услышать начальника транспортного цеха" или надо уметь снимать такие видео и работать с несколькими микрофонами или если жалко поделится на Ютубе то и выкладывать не стоит.

  • @balalaika7365
    @balalaika7365 7 лет назад +1

    Самое классное в презентации Михаила - это мячики. Никто не зевает, все работают. Некоторые даже апелляцию подают =)))

  • @xintreavideo
    @xintreavideo 3 года назад +11

    Ценность этого видео стремится к нулю. Очень интересно смотреть на выступающего, который что-то обсуждает с невидимыми и неслышными собеседниками.

  • @sergeyvoloshin1553
    @sergeyvoloshin1553 4 года назад +2

    так смешно, жалко что ничего не слышно

  • @alexstavitsky4288
    @alexstavitsky4288 6 лет назад

    Где на 1:07:05 неопределенное поведение? При обходе проверяем итератор на равенство итератору конца и перебрасываем на начало. А вообще поясните зачем столько городьбы, если можно использовать простую очередь и доп. индекс элемента в момент циклического обхода также не прибегая к указателям? Только ради "универсального решения" на все случаи жизни? ИМХО видео о том как сначала убрать говнокод из простейшей структуры данных, а затем обвешать ее абстракциями, чтобы все кто читает код сломали глаза :)

  • @GreenFlashk4
    @GreenFlashk4 7 лет назад

    18:10
    Можно было бы сделать проверку на пустоту входного параметра до создания вектора result?
    Спасибо за лекцию, очень интересно смотреть процесс рефакторинга от профессионала.

    • @AxelStrem
      @AxelStrem 7 лет назад +1

      Создание вектора неизбежно т.к. функция должна что-то вернуть; благодаря NRVO создание вектора происходит in-place, т.е. почти бесплатно. Возвращение чего-то кроме result потенциально может помешать NRVO (на практике скорее всего компилятор справится)

    • @GreenFlashk4
      @GreenFlashk4 7 лет назад

      Спасибо за ответ, пойду гуглить про NRVO.

    • @AxelStrem
      @AxelStrem 7 лет назад +1

      :D гуглите Copy Elision, вот например - en.cppreference.com/w/cpp/language/copy_elision

  • @AxelStrem
    @AxelStrem 7 лет назад +5

    первая половина доклада про то как хорошо использовать готовые алгоритмы и обобщенные приемы, а во второй давайте напишем свой boost::circular_buffer :D

    • @ProTyperforMegatypers
      @ProTyperforMegatypers 7 лет назад

      Программа написанная под сервис для разгадывания капчи.Программа написана на С++ 6-8 версии. Ничем не упакована и не защищена.Исходника нет.
      При регистрации акаунта через программу в конце нужно кликнуть подтверждение (Я не робот) . Эту капчу программа не видит - следовательно регистрацию закончить невозможно! Этот момент нужно исправить
      За более подробной информацией пишите в ICQ - 681354647
      Бюджет 100$

  • @amyasnikov
    @amyasnikov 7 лет назад +4

    Шикарная лекция.

  • @sunheretic13
    @sunheretic13 Год назад

    А можно вернуть два std/boost::span для в общем случае левого и правого диапазона. Дешево и сердито. 0 копирований. 0 велосипедов на враппинге итераторов.

  • @antonpetrenko9176
    @antonpetrenko9176 4 года назад +1

    Илюха пришел налутать мячиков=))

  • @MachHate
    @MachHate 6 лет назад

    @33:00
    Возвращая points можно жестко обломать RVO...

  • @Александр-ч2т2ж
    @Александр-ч2т2ж 4 года назад

    На 21 минуте можно было использовать std::adjacent_find, кмк. Хотя с точки зрения семантики этого алгоритма, это некорректно, что повредит читаемости.
    Upd: сорри, дальше об этом будет сказано 🙂

  • @zz1965Serg
    @zz1965Serg 7 лет назад +7

    Чем больше я смотрю на плюсы тем меньше мне хочется с ними связываться !!!

    • @balalaika7365
      @balalaika7365 7 лет назад +3

      это от недообследованности

    • @TovKafur
      @TovKafur 7 лет назад +2

      Потому что не нужны плюсы. Для проганья всяких драйверов есть чистый Си. Для разработки приложений на ПК - Питон, Руби. Для кофеварок - Жава, и так далее. С++крипач же не нужен.

    • @balalaika7365
      @balalaika7365 7 лет назад +2

      Приложения на ПК - питон и руби? Вы смеетесь? Назовите хоть одно серьезное приложение, написанное на питоне или руби.

    • @TovKafur
      @TovKafur 7 лет назад +2

      Как минимум BiTorrent и Blender на питоне писались. На линух не так мало приложений на питоне. Некислый процент игр (а они тоже технически приложения) на питоне написаны. За руби не скажу, т.к. сам его не изучал, но мне очень часто затирали, что это "убийца питона", хз, насколько правда, руки сравнить так и не дошли.

    • @balalaika7365
      @balalaika7365 7 лет назад +4

      BitTorrent - это не серьезное приложение, а так, утилитка простая. Вы Word напишите на питоне, тогда поверю.

  • @IExSet
    @IExSet 3 года назад

    Людей не слышно, докладчик спорит сам с собой

  • @vatemsura
    @vatemsura 4 года назад

    Зачем плюсы нужны . Все решается проще на C

    • @РоманКруглов-и8в
      @РоманКруглов-и8в 4 года назад +6

      Зачем Си нужон. Все решается проще на Ассемблере

    • @gogeroger930
      @gogeroger930 4 года назад +5

      А зачем эти ваши высокоуровневые ассембляры нужны? Все решается проще опкодами для определённой архитектуры

    • @sorrynomorenickname
      @sorrynomorenickname 3 года назад +2

      Зачем микропроцессоры нужны. Все решается на дискретной логике