Итераторы stl c++ | prefix vs postfix | Библиотека стандартных шаблонов (stl) | Уроки | C++ | #4

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 63

  • @SimpleCodeIT
    @SimpleCodeIT  6 років тому +24

    *Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*

  • @alexeygrigorev4317
    @alexeygrigorev4317 6 років тому +143

    ой аж засмущали ^^ Спасибо за уроки :) Всё крайне понятно объясняешь, хоть и приходится ставить скорость на 1.25 и порой на 1.5)

    • @SimpleCodeIT
      @SimpleCodeIT  6 років тому +25

      Да я сам всегда ускоряю, это нормально =)

    • @ketzalkoatl2012
      @ketzalkoatl2012 6 років тому

      я нихуя не понял. Почему способ инкрементирования итераторов не имеет значения. Для переменных имеет, а для итераторов не имеет... Три раза пересмотрел, почитал в интернете форумы - все равно не могу понять как думает компьютер в данном случае

    • @alexeygrigorev4317
      @alexeygrigorev4317 6 років тому +1

      до сих пор мучает вопрос? А то могу попробовать ответить)

    • @ketzalkoatl2012
      @ketzalkoatl2012 6 років тому

      да, мучает

    • @alexeygrigorev4317
      @alexeygrigorev4317 6 років тому +16

      полазал, поискал... С чего ты взял, что инкрементирование итераторов не имеет значения? Имеет, и именно это и разбирается в видео. Именно на примере реализации постфиксного и префиксного инкремента у итератора. И, заранее хочу отметить, что для "простых смертных" переменных, использование пре/постфиксного инкремента имеет значение, ибо суть там та же: при префиксном - просто прибавляется единица и затем возвращается, а при постфиксном - создаётся доп. объект (некий клон) для возврата изначального значения (не суть важно с какой целью, для вывода на консоль или для присваивания этого значения какой-либо переменной), затем изменяется состояние текущей переменной, и потом уже возвращается значение созданного в начале "клона"

  • @ВладимирРолдугин-й2й
    @ВладимирРолдугин-й2й 5 років тому +4

    Настолько вроде мелкая вещь , но если разобрать её, то действительно дает некоторое понимание, что ты пишешь и как улучшить код , спасибо__))

  • @SimpleCodeIT
    @SimpleCodeIT  6 років тому +10

    #итераторы #STL #SimpleCode #урокипрограммирования

  • @Евгений-ф9я3о
    @Евгений-ф9я3о 6 років тому +9

    Спасибо, у Вас лучший канал на ютюбе!!! по крайней мере в русскоязычном сегменте. Спасибо еще раз.

  • @KurpatovInstagram
    @KurpatovInstagram 6 років тому +6

    Благодарю!

  • @andrewbistroff7558
    @andrewbistroff7558 6 років тому +6

    Спасибо за шикарно изложенный матерьял!

  • @alexandrkryvopust7505
    @alexandrkryvopust7505 2 роки тому +3

    Если вас мучает вопрос есть ли в современной версии компилятора реальная разница между префиксным и постфиксным инкрементом, то да, есть но мизер Total time: 0.87753 vs Total time: 0.87779 это для релиз конфигурации когда компилятор сам оптимизирует этот момент как указал автор в видео. Ну и также с высокой долей вероятности у вас это спросят на собесе.

  • @pavelios3577
    @pavelios3577 6 років тому +1

    Спасибо за видео.

  • @Ermine882
    @Ermine882 6 років тому +5

    Спасибо за урок.

  • @Евгений-ш5ж5я
    @Евгений-ш5ж5я 6 років тому +2

    Ты лучший. Огромное спасибо.

  • @andrewbistroff1199
    @andrewbistroff1199 6 років тому +3

    Спасибо за урок!

  • @artlinestudio6735
    @artlinestudio6735 3 роки тому

    А на второй раз не чуть не хуже. ) Спасибо Сергей!

  • @vladalu9794
    @vladalu9794 6 років тому +2

    спасибо большое за отличный ролик!!

  • @Ivan-Shyriaiev
    @Ivan-Shyriaiev 4 роки тому +1

    Топ уроки, спасибо большое

  • @ALl_ECo_SAY
    @ALl_ECo_SAY 2 роки тому

    В данном примере на 2:00 приоритет не должен играть роли никакой, т.к. у побитового сдвига приоритет ещё ниже чем у обоих инкрементов. Играет роль возвращаемое значение. При постфиксном инкременте создается временная переменная копия оригинальной до инкремента, которая идет на ретерн, а оригинальная переменная инкрементируется. В префиксном же происходит инкремент оригинальной переменной и её возврат.

  • @C2H5OHH
    @C2H5OHH 3 роки тому

    Спасибо за объяснение!

  • @igorwilson1220
    @igorwilson1220 6 років тому +3

    Здравствуйте, а когда будут уроки по c#?

  • @Sashikx_zxc
    @Sashikx_zxc 4 роки тому

    Спасибо

  • @kerril1309b
    @kerril1309b 5 років тому

    Спасибо за качественный контент

  • @oraclevb5430
    @oraclevb5430 4 роки тому

    лучший

  • @liudasliudelis9666
    @liudasliudelis9666 6 років тому +4

    Dėkui

  • @borisshabanov6702
    @borisshabanov6702 6 років тому +1

    Да... Зайти в реализацию итератора не догадался... Спасибо!

  • @asankod8549
    @asankod8549 3 роки тому

    дай угадаю, дело в времени работы, так как у постфиксного инкримента ест временный переменный, а префиксного его нет, но только в дебуге заметно это скорость а обычной работе не заметно так как комплиятор сам меняет его.
    а сейчас посмотрю видео, надеюсь был прав )

  • @Kokurorokuko
    @Kokurorokuko 4 роки тому

    Это применимо к работе с, допустим, целочисленными переменными? Там существует такая накладка?

  • @ІринаЧерній-я4ч
    @ІринаЧерній-я4ч 4 роки тому

    почему какоето действие : ++(*this) (на 7:01 минуте)
    я думаю что он визивает префиксную функцию что находица сверху

  • @aram.nett1
    @aram.nett1 6 років тому +1

    В таком случае лучше всегда использовать префиксный инкремент?
    Тогда зачем нужна постфиксный..?

    • @impossible2hn614
      @impossible2hn614 6 років тому +4

      Когда нужно возвращать неизменённое значение. Если целью инкремента является только изменение данных, а не мгновенное их использование, то префиксный инкремент всегда лучше.

  • @Andry_TV_channel
    @Andry_TV_channel 9 місяців тому

    какое отношение постфиксный и префиксный инкременты имеют к STL? Как будто это лучше в плейлист к C++ закинуть

  • @МаксимБ-з3ю
    @МаксимБ-з3ю 6 років тому +8

    Расскажите, пожалуйста,как человеку,который изучил С++ по всем Вашим урокам,заработать на программировании первые деньги. Куда идти,что ещё нужно доучить?Заранее спасибо за ответ)

    • @МинутноеВидео
      @МинутноеВидео 5 років тому

      Ну что? Что нибудь получилось?

    • @Валерий-щ8з
      @Валерий-щ8з 2 роки тому

      А теперь что нибудь получилось? Может поделишься опытом?

    • @ДанилАхметшин-и4ц
      @ДанилАхметшин-и4ц Рік тому

      ​@@Валерий-щ8з изучай фраемворкии 🎉

    • @RrRrRrRroman
      @RrRrRrRroman Рік тому

      @@ДанилАхметшин-и4ц QT теперь только через VPN тянуть(

  • @C_soznatelno_bessoznatelno_Y
    @C_soznatelno_bessoznatelno_Y 4 роки тому

    а есть ли разница когда работаешь с циклом for не с листом, а чем нибудь другим? можно ли всегда использовать префиксный?

    • @nerqwe1
      @nerqwe1 3 роки тому

      можно

  • @martinsnarogs7530
    @martinsnarogs7530 4 роки тому

    По видео все понятно, но может ли кто-нибудь объяснить, что в выражении ++(*(_Mybase *)this); означает часть *)this ?? Мы поидее разименовываем адрес в памяти this, но такое чувство что звездочка должна стоять за скобкой, а не перед ней. Или у такого маневра есть свое назначение? что оно разименовывает?

    • @magnum6808
      @magnum6808 4 роки тому +3

      Кстати в 2019 Visual Studio уже написано по-другому:
      _List_iterator& operator++() {
      _Mybase::operator++();
      return *this;
      }

  • @memorylearn8566
    @memorylearn8566 4 роки тому

    +

  • @xackspel
    @xackspel 6 років тому +2

    Разрешите спросить - а по C# на вашем канале уроки были?

    • @SimpleCodeIT
      @SimpleCodeIT  6 років тому +2

      Ещё нет но будут, тут всё о дальнейших планах ua-cam.com/video/EQdq3XxoJQQ/v-deo.html

    • @xackspel
      @xackspel 6 років тому +1

      #SimpleCode Большое спасибо. Пока поштудирую Основы ООП!

  • @ЯрославГоловко-ф6и

    спасибо

  • @DD0S2
    @DD0S2 3 роки тому

    спасибо

  • @ВітяКоміссаров
    @ВітяКоміссаров 2 роки тому

    спасибо