Лекция 32. Внутреннее устройство std::list и std::map

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

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

  • @AndrewChikin
    @AndrewChikin 8 месяцев назад +10

    Вау, самые кайфовые лекции на физтехе подъехали

  • @amirs9148
    @amirs9148 8 месяцев назад

    По листу вопрос. Вы сказали, что оригинальный лист реализован, как вы показали с BaseNode, который содержит только два указателя. Но почему при попытке разыменования list.end() в случае с типом int получается количество элементов списка?
    С другими типами получается 0, либо значение очень близкое к 0

    • @warpjump998
      @warpjump998 8 месяцев назад +1

      Потому что по стандарту это UB: "This element acts as a placeholder; attempting to access it results in undefined behavior."

    • @petrkiyashko4248
      @petrkiyashko4248 2 месяца назад

      Если не отмахиваться с помощью "по стандарту уб", скорее всего происходит такое -- у тебя в плейсхолдере всего два поля, указатели, а после уже другие поля в памяти. В обычных нодах у тебя два указателя и инт, соотв при разыменовании ты смотришь в ноду по оффсету интового поля. Это значит, что когда ты разыменовываешь фейковую ноду, ты получаешь то что лежит в памяти дальше, а это скорее всего поле sz самого объекта листа. Если ты на интеле, то в след 32 битах (размер инта) лежит нижний разряд size, а когда у тебя размер маленький получается, что это и есть он. Но это просто так получилось, и лейаут могут взять и поменять. Или, если процессор big-endian с 64битными указателями и size_t, то ты получишь уже старший разряд size, т е 0 при нормальных размерах

  • @AndrewChikin
    @AndrewChikin 8 месяцев назад

    Добрый день, подскажите, пожалуйста, где можно посмотреть алгоритмы продвы? Основы?

    • @gooldenboy666
      @gooldenboy666 4 месяца назад +2

      здравствуйте, если изучение алгоритмов для вас еще актульно могу посоветовать четырех семестровый курс алгоритмов КТ ИТМО. Он весь записал на канале лектора "Павел Маврин". Считаю, что это одни из лучших материалов для изучения алгосов.

  • @vasyapupkin69cyber
    @vasyapupkin69cyber 8 месяцев назад +7

    нихуя себе. Это мы смотрим

  • @МаксимБугаев-ш5х
    @МаксимБугаев-ш5х 8 месяцев назад +1

    А сколько всего лекций?

    • @mesyarik
      @mesyarik  8 месяцев назад +4

      Ну, видимо, к концу учебного года будет 60 :)

    • @flamekadar2037
      @flamekadar2037 8 месяцев назад +4

      Спасибо вам огромное за эти лекции. Я уже начал переживать что со второго семестра лекций не будет 🥲. @@mesyarik