Базовый курс C++ (MIPT, ILab). Lecture 1. Scent of C++.

Sdílet
Vložit
  • čas přidán 20. 06. 2024
  • Лекции в бакалавриате МФТИ по C++ на русском языке.
    Это первая лекция базового курса. На этой лекции мы познакомимся с двумя базовыми механизмами языка C++, разберем его отличия от C.
    Лектор: Константин Владимиров
    Дата лекции: 13 сентября 2021 года
    Съёмка: Владислав Белов
    Звук: Дмитрий Рябцев
    Предыдущая лекция: нет, это первая
    Следующая лекция: • Базовый курс C++ (MIPT...
    Слайды ко всем лекциям: sourceforge.net/projects/cpp-...
    Timeline:
    00:00 Начало
    01:55 Кеши
    09:50 LRU на языке C и её проблемы
    22:05 C++ объединение данных и методов
    33:56 Обобщение типов и функций
    50:18 LRU на C++
    57:10 Идея конструктора и немного фана
    1:04:22 Немного о домашних заданиях
    1:12:04 Литература и ответы на вопросы
    Errata:
    * 15:12 в примере кода на Си, nullptr не уместен
    * 42:22 опечатка, должно быть std::less с явно указанным типом

Komentáře • 124

  • @MrAirensss
    @MrAirensss Před rokem +28

    Пишу на C++ больше 10 лет, но, наткнувшись на ваши лекции, понимаю, что все это время только лишь "трогал его лапкой". Спасибо!

  • @yakryt7228
    @yakryt7228 Před 2 lety +28

    Наконец-то! Заждались Ваших лекций, спасибо.

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg Před 2 lety +20

    Вау, новый урок, премного благодарен Вам Константин за эту лекцию.

  • @goodween7913
    @goodween7913 Před rokem +11

    Очень рад, что нашёл ваши лекции. Огромное спасибо за такой ценный материал!

  • @Becaury
    @Becaury Před rokem +17

    Огромная благодарность за лекцию и за ту энергию с которой вы преподаете!

  • @chapaj3000
    @chapaj3000 Před rokem +6

    Очень понятно и продуманно подано! Благодарю за лекцию!

  • @Lornaria
    @Lornaria Před rokem +6

    Огромное спасибо за такую отличную лекцию в открытом доступе! Получилось захватывающе: интриги, расследования, разве что без скандалов :)

  • @user-kz8hc6gr3x
    @user-kz8hc6gr3x Před 2 lety +2

    Новый учебный год начался!

  • @andrewwest9309
    @andrewwest9309 Před rokem +1

    Потрясающе

  • @proalex111
    @proalex111 Před 2 lety +1

    спасибо лектору

  • @andreykhakimov5588
    @andreykhakimov5588 Před 2 lety +1

    Спасибо!

  • @sergeyprikhodko4442
    @sergeyprikhodko4442 Před 4 měsíci +1

    Константин Игоревич, спасибо большое за лекцию! Часть видео, которая начинается с 50:18, называется "LRU на C", хотя речь идет о LRU на C++.

  • @georgezadesenets4346
    @georgezadesenets4346 Před 2 lety +2

    Круто!

  • @user-ps5bx4ey4d
    @user-ps5bx4ey4d Před rokem +3

    После лекции по матроидам стало ясно, что именно этот курс по C++ следует послушать.

  • @vuniverserb1142
    @vuniverserb1142 Před 2 lety +5

    Смотрю лекцию ради неизвестных терминов и хороших практик))

  • @ds9410
    @ds9410 Před 2 lety

    Спасибо. Интересно. С юмором. Про кошку в яблочко.

  • @deathstar9739
    @deathstar9739 Před 2 lety +4

    Спасибо за лекцию! Ждём special на 2к подписчиков!

    • @tilir
      @tilir  Před 2 lety +3

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

  • @babichfx
    @babichfx Před 2 lety +2

    Поехали!

  • @user-jw8oy9lq7o
    @user-jw8oy9lq7o Před rokem +5

    Большое спасибо Вам за лекции. Не могли бы Вы выложить лекции по ассемблеру? Спасибо заранее.

  • @JasonTrool
    @JasonTrool Před rokem +5

    10:17 - самая гениальная шутка про C, которую я когда-либо слышал!

    • @tilir
      @tilir  Před rokem

      Авторство не моё, это что-то с просторов интернета.

  • @SlavaVy0
    @SlavaVy0 Před 6 měsíci

    вот это я удачно зашел.

  • @user-cc3bv1rq2f
    @user-cc3bv1rq2f Před 2 lety +14

    Спасибо за ваши лекции. Это лучшее по С++ что есть в ютубе. По крайне мере в русскоязычном сегменте. И как же легко смотрится вводная лекция после лекции по корутинам.

    • @makaedg
      @makaedg Před rokem +1

      А вне русского сегмента можете что-нибудь посоветовать?

    • @user-cc3bv1rq2f
      @user-cc3bv1rq2f Před rokem +1

      @@makaedg в лекциях Константина всегда есть ссылки на доп литературу, и на видео с лекциями на конференциях.

    • @makaedg
      @makaedg Před rokem +1

      @@user-cc3bv1rq2f Мой вопрос скорее про цельный курс (в идеале видеокурс) по advanced C++.
      За материалы в конце лекций, естественно, большой респект!)

    • @makaedg
      @makaedg Před rokem +1

      @@user-cc3bv1rq2f Добавлю, что лекции Константина потрясающие, и было бы круто найти что-то соответствующего уровня на английском.

    • @user-cc3bv1rq2f
      @user-cc3bv1rq2f Před rokem +1

      @@makaedg не могу с этим помочь.

  • @viacheslavbarkov6538
    @viacheslavbarkov6538 Před 2 lety +7

    Неплохое введение.
    P.S. Номер телефона нужно было потереть на видео...

  • @user-tx7ct1fg2i
    @user-tx7ct1fg2i Před 8 měsíci

    Большое спасибо!!! теперь то я точно уверен,что я тупой 😂.надо,надо как то подтягиваться😢

  • @pavelrid
    @pavelrid Před 2 lety +5

    Запах C++ устойчивый, странный но вроде приятный

  • @Kirill-yr5nf
    @Kirill-yr5nf Před rokem +1

    Огромное спасибо! Эх мне бы такого преподавателя по плюсам в своё время) Кстати, книгу Антона Полухина по бусту никак не назвал бы второсортным шлаком

  • @FroL_Onn
    @FroL_Onn Před 2 lety +13

    Спасибо огромное за леции! Очень круто! Было бы классно ещё и Ваши лекции по C, которые Вы упомянули в начале, тоже посмотреть. Нигде не лежат?

    • @tilir
      @tilir  Před 2 lety +19

      Пока нигде, запись планируется.

    • @andrewkot5212
      @andrewkot5212 Před rokem

      @@tilir скажите, вопрос про функцию сорт: как я понимаю, выигрыш будет в с++ коде, как продемонстрировано в видео, только в случае возможности проинлайнить, но этой возможности не будет, когда мы динамически линкуем модуль, где описан объект, массив которых мы и хотим сортировать. В общем так ли это? Т.е. инлайн we работает только в случае статического (времени компиляции) полиморфизма?
      Вы в видел упоминали, что эффективность с++ можно сломать и потом починить, вероятно, речь и идёт о динамическом связывании, не могли бы подсказать, где про это почитать/посмотреть?
      p.s. спасибо, очень крутые лекции, лучшего материала я не встречал!

    • @user-uq6fb2ks2c
      @user-uq6fb2ks2c Před rokem

      ​@@tilir Спасибо за Ваш труд! Да, увидеть лекции по "C" было бы здорово.
      У Вас очень приятная и простая для понимания подача материала. За всем этим чувствуется опыт и огромная база знаний!

  • @fedorbabkin
    @fedorbabkin Před rokem +2

    Как хотелось бы услышать от вас иронический рассказ о холиварах между фанатами и хейтерами С++ vs true C vs Rust, сдобренный тонким юмором и несравненным сарказмом.

  • @andrewkot5212
    @andrewkot5212 Před rokem

    @tilir Скажите, вопрос про функцию сорт: как я понимаю, выйгрыш будет в с++ коде, как продемонстрировано в видео, только в случае возможности проинлайнить, но этой возможности не будет, когда мы динамически линкуем модуль, где описан объект, массив которых мы и хотим сортировать. В общем так ли это? Т.е. инлайн we работает только в случае статического (времени компиляции) полиморфизма?

    • @tilir
      @tilir  Před rokem +1

      Нет это не так. Выигрыш будет всегда т.к. хедер с шаблоном обязан быть связан статически.

  • @angelaasatryan2183
    @angelaasatryan2183 Před rokem

    Thanks for a brilliant lecture.
    Is the C course that you mentioned also available?

    • @tilir
      @tilir  Před rokem +1

      Nope, planning to record next year.

  • @user-vy6wr6qv4h
    @user-vy6wr6qv4h Před 2 lety

    Спасибо за великолепную лекцию ! Есть один вопрос: в методе lookup_update в случае, если мы не нашли в хеше элемент по ключу и при этом наш список полный, происходит hash_.erase(cache_.back()) 37 строчка кода, это корректно ? Ведь тип cache_.back() не является ни типом ключа хэш-табдицы, ни типом итератора.

    • @tilir
      @tilir  Před 2 lety +2

      Да уже обсуждали тут в комментариях. На слайдах упрощённый кеш где ключи равны значениям. В реальности там будет храниться пара и искать вы будете cache.back().first или что-то вроде того.

  • @konstantinmorozov6453
    @konstantinmorozov6453 Před 2 lety +4

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

    • @tilir
      @tilir  Před 2 lety +14

      Я рассказываю ассемблер на первом курсе. Возможно я доберусь до записи первого курса, например в следующем году. Так чтобы вот очень хороших курсов на youtube я как-то и не знаю.

  • @anoona5015
    @anoona5015 Před 2 lety +5

    Эх было бы классно начать с: "если вы думаете что знаете C++..."

  • @user-tt6sm2vx8e
    @user-tt6sm2vx8e Před 4 měsíci

    Константин Игоревич, очень благодарен вам за то, что даете возможность людям слушать такие прекрасные лекции. Интересует вопрос по поводу литературы, как вы относитесь к Стивену Прата?

    • @tilir
      @tilir  Před 4 měsíci

      Неплохо, но без какого то полёта мысли. Я бы специально эту книгу не отмечал. Но и антирекомендаций у меня нет.

  • @Robinzon__Kruzo
    @Robinzon__Kruzo Před 2 lety +1

    Спасибо за лекцию! Если не секрет, почему решили поменять формат показа слайдов на видео? В целом ничего страшного, но просто вглядываться надо усерднее в физический экран. Мне кажется лучше было как с магистерским курсом: все время показывать запись с экрана и сбоку вставлять кадрированное видео с вами. Или возникли какие-то технические сложности?

    • @tilir
      @tilir  Před 2 lety +1

      Наоборот когда слайды важные их виднее. В данном случае это было вынуждено т.к. видео было местами темновато.

    • @user-wv8lb7ow6k
      @user-wv8lb7ow6k Před 6 měsíci

      @@tilir Почему то с этой лекцией трудности возникли после лекций по С.. много незнакомых вещей, где их добрать?

  • @froggolab
    @froggolab Před rokem

    Константин, огромное спасибо за ваши лекции, смотрю с огромным удовольствием! Есть вопрос - с каким набором знаний студенту следует подходить к изучению этого курса? При просмотре мне часто бывают не понятны многие вещи и создается впечатление, что курс ориентирован на людей, которые уже знают многое в C++ и хотят углубиться. Может быть вы смогли бы посоветовать какие материалы и стек знаний необходимы для успешного изучения этого базового курса? Заранее спасибо за ответ

    • @tilir
      @tilir  Před rokem +1

      Предварительных знаний не требуется, кроме знания языка C и ассемблера в объеме первого курса МФТИ. Требуется способность восстанавливать пробелы используя литературу. Курс рассчитан на большой объём самостоятельной проработки но не перед его началом, а в процессе.

    • @froggolab
      @froggolab Před rokem

      @@tilir спасибо за ответ! еще сильнее захотелось одолеть курс

  • @konstantinkonstantin456

    Super++//!!!

  • @MrTheRocketmaster
    @MrTheRocketmaster Před 2 lety +1

    Константин, отличные лекции, спасибо за ваш труд! Всегда приятно слушать грамотного профессионала. А всё-таки позвольте поправочку, коль название лекции у вас на английском (первые слова, которые видит студент, так сказать) - правильно говорится "Ссент ов си плас плас", не скент :) По той же причине, что и компьютер сайенс, а не скаенс.

    • @tilir
      @tilir  Před 2 lety +3

      Спасибо. Меня уже поправляли. Есть несколько слов в которых я делаю систематические ошибки: scent (скент), vehicle (вехайкл), entry (энтрай) и еще парочка. Я стараюсь за собой следить и говорить ссент, виикл и энтри, но сбиваюсь.

  • @alexbur140
    @alexbur140 Před 2 lety

    В классе треугольника функция-член square необосновано не const, хотя на более поздних слайдах становится const.

    • @tilir
      @tilir  Před 2 lety

      Когда я рассказываю про const, тогда и становится.

  • @sevenb1t
    @sevenb1t Před rokem

    А можно детали, почему когда мы пишем хорошую хэш таблицу, мы сделаем один список и указатели внутрь него? Почему не динамический массив бакетов плюс хэш-функция, которая вычисляет индекс в массиве по ключу?

    • @tilir
      @tilir  Před rokem +1

      Из-за рехеша. О хороших хеш-таблицах в этом курсе есть лекция "ассоциативные контейнеры" можете её посмотреть.

    • @sevenb1t
      @sevenb1t Před rokem

      @@tilir спасибо!

  • @apexbreadator5262
    @apexbreadator5262 Před 7 měsíci

    Здравствуйте! Только начал учить С++. А почему мы не можем использовать просто хэш таблицу без использования листа? У неё и вставка, поиск и удаление О(1)

    • @tilir
      @tilir  Před 7 měsíci +1

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

  • @solrainer7
    @solrainer7 Před rokem

    Здравствуйте. А разве шаблоны с++ это не предпроцессорные автоматические реализации различных вариантов функции или метода? Вы говорите что они идут внутри грамматики языка а не предпроцессора.

    • @tilir
      @tilir  Před rokem +1

      Шаблоны не имеют отношения к препроцессору. Это часть грамматики.

  • @samolisov
    @samolisov Před 2 lety +2

    15:12 Это же код на чистом Си, не уверен, может в последние стандарты и завезли, но nullptr это ключевое слово из C++ 11.

    • @tilir
      @tilir  Před 2 lety +1

      Кстати да, отличное замечание. Я писал на C-подмножестве C++ и пропустил это, набрав на автомате, а вы заметили. Спасибо, внесу в errata =)

    • @samolisov
      @samolisov Před 2 lety +3

      @@tilir позволю себе ещё небольшое замечание. 42:22, std::less это же шаблон, хотя у него самого с c++14 есть значение параметра по умолчанию (void), треугольные скобки все равно нужны. Увы даже в c++ 17 и выше CTAD не работает в указании значений по умолчанию параметров шаблонов.

    • @samolisov
      @samolisov Před 2 lety +1

      @@tilir и да, лекции реально отличные. Завидую вашим студентам. У нас в свое время преподавали c++ параллельно с программированием под Windows на си, эти два языка не всегда разделялись, да и c++ 11 тогда ещё не было.

    • @tilir
      @tilir  Před 2 lety

      Согласен. Тоже отличное наблюдение.

  • @serhiymalokhatko
    @serhiymalokhatko Před 11 měsíci

    52:44 Что то мне кажется что удаление из хэш-таблицы неверное, вы передаете в hash_.erase(cache_.back()); значение, но никак не ключ для удаления.

    • @tilir
      @tilir  Před 10 měsíci +1

      Это кажется уже разбиралось в комментариях. Тут действительно на слайдах кеш не без проблем и это одна из. Те из студентов кто присылали домашние работы увидели это первыми и исправили каждый по своему.

  • @oficsu
    @oficsu Před 2 lety +2

    51:52: "...вы можете ставить сколько угодно подчёркиваний в конце..."
    Из [lex.name] пункта 3.1:
    "Each identifier that contains a double underscore ... is reserved to the implementation for any use"
    Таким образом, имена с двумя или более подчёркиваниями подряд в конце будут иметь в своём составе хотя бы одно двойное подчёркивание, и они запрещены даже более строго, чем имена, начинающиеся с одного подчёркивания, - не только в глобальном пространстве имён
    Так что да, сколько угодно, но ни в коем случае не более одного :)

    • @tilir
      @tilir  Před 2 lety +1

      Я формально согласен. Реально в любой реализации стандартной библиотеки идентификаторы "чтобы не пересекались" именно что начинаются с подчёркиваний.

  • @user-fh9jb9nz2m
    @user-fh9jb9nz2m Před měsícem

    " изучить си за недельки две". М да хотел бы посмотреть на такого человека кто знает Си в полном объёме. От всех его стандартов и всех возможностей за такой срок😁.

    • @tilir
      @tilir  Před měsícem

      Так в полном объёме и не нужно.

  • @victormustya1745
    @victormustya1745 Před 2 lety

    А это так и должно быть, что на слайдах указателя не видно? (7:59)

    • @tilir
      @tilir  Před 2 lety

      Я там в процессе исправляюсь =)

  • @hatiko8227
    @hatiko8227 Před rokem +1

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

    • @tilir
      @tilir  Před rokem +2

      Я уже где-то про Столярова высказывался. Если коротко, то я бы не рекомендовал. Я, правда, его не столько читал, сколько проглядывал по диагонали, но в общем мне хватило. Да там и введения достаточно. Это не просто бессмысленная для развития книжка, это книжка (с моей точки зрения) вредная.

  • @user-uh2lf1hn8d
    @user-uh2lf1hn8d Před rokem +1

    а есть лекции которые читаються для первого курса ?

    • @tilir
      @tilir  Před rokem +1

      Пока нет.

  • @weekendshow7567
    @weekendshow7567 Před rokem +1

    Курс скорее для продолжающих, чем начинающих. не каждый поймёт такой литературный стиль преподавания и объяснений. Ну и соответственно базовым сложно назвать данный курс, с учётом того что рассматривается ассемблер!

    • @tilir
      @tilir  Před rokem +3

      "Базовый курс по C++" это не "первый курс в программировании". Первый курс читается на базе C и ассемблера и занимает год, включая также основные алгоритмы и структуры данных. Ко второму курсу я предполагаю что собравшиеся всё это знают и можно начинать изучать C++. Курс базовый в смысле базы в языке.

    • @weekendshow7567
      @weekendshow7567 Před 3 měsíci

      ​@@tilirок, понятно

  • @evgenytarasov2541
    @evgenytarasov2541 Před 2 lety +1

    Ю-туб дико режет комментарии. Информацию по упражнениям из 4-го издания читайте на странице 8 4-го издания. (Упражнения вынесены на сайт автора)

    • @tilir
      @tilir  Před 2 lety +1

      Имеется в виду 4-е издание Страуструпа? Надо же. Я был уверен что их просто убрали =) Спасибо за информацию.

  • @user-apostata
    @user-apostata Před 2 lety +1

    Вы говорите, что ведёте курс си. А есть возможность его тоже выложить.

    • @tilir
      @tilir  Před 2 lety +12

      Там мало экшена. Это трёхчасовые семинары где я процентов 50 времени хожу по рядам, смотрю как люди решают простые задачки, что-то лично подсказываю и т. п.
      Все материалы, как водится, в открытом доступе: слайды cs.mipt.ru/wp/?page_id=7775 и задачник olymp1.vdi.mipt.ru
      Я думаю я к следующему году придумаю как это записать и выложить так, чтобы зрители не умерли от тоски. Например у меня есть идея сделать из моих объяснений выжимку-мультфильм в стиле 3blue1brown или просто заснять отдельно мои объяснения, или что-то в том же духе.

    • @user-apostata
      @user-apostata Před 2 lety

      @@tilir спасибо

    • @vadimtran4159
      @vadimtran4159 Před 2 lety

      @@tilir Было бы отлично!

    • @dragnet232
      @dragnet232 Před rokem

      @@tilir было бы здорово!!! Надеюсь мир увидит это в скором будущем!!!

  • @user-ww9jj3mz1z
    @user-ww9jj3mz1z Před 5 měsíci

    А почему надо обязательно писать свои реализации? Есть GLib, например, в нем уже есть списки, хеш-таблицы и всё прочее...

    • @randomcraft2345
      @randomcraft2345 Před 4 měsíci

      1. Лучше начинаешь понимать как они работают.
      2. В сравнении с более удачной реализацией понимаешь - расти есть ещё куда (и возможно, даже поймёшь куда).
      3. Если у тебя результат лучше - можно порадоваться, что получилось ( правда, с такими библиотеками *соревноваться* - та ещё задача)) ).
      4. Практика. Теоретические и практические знания и навыки - вещи разные, которые очень хорошо дополняют друг друга, но с большим трудом вытекают друг из друга. Сейчас много что уже реализовано, а то что не реализовано - либо трудно, либо крайне не очевидно. И как же дорасти до такого уровня? Правильно, делать что-то самому, даже если это уже сделано другими. Даже наоборот, это полезнее, потом можно увидеть в сравнении свои недостатки и преимущества, на примере научиться лучшим практикам (имеет смысл, если сделаешь сам, а уже потом посмотришь; иное тоже эффективно, но меньше).
      Список можно продолжать бесконечно.

    • @randomcraft2345
      @randomcraft2345 Před 4 měsíci +1

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

  • @KIR_Engineer
    @KIR_Engineer Před měsícem

    Почему при обсуждении способа представления алгоритмов не было классических блок-схем (слайд 22 8:53)?
    Проходил ряд курсов по программированию от Яндекса, там тоже их не было. Я по основному образованию инженер-конструктор и нас учили описывать алгоритмы в виде блок-схем. По сей день их использую в работе и порой оформляю коллегам исходные данные в таком виде. Ни у кого они не вызывают отторжения, наоборот благодарят.

    • @tilir
      @tilir  Před měsícem +1

      Блок-схемы не добавляют читаемости алгоритмам (если не наоборот). Это что-то такое с запахом советских шестидесятых. На листе A3, на миллиметровой бумаге... романтика на любителя.
      Но вот например в UML для описания архитектуры визуальные диаграммы вполне себе используются и там (на лекции по архитектуре) я их и объясняю.

    • @KIR_Engineer
      @KIR_Engineer Před měsícem

      @@tilir понятно, спасибо за ответ!)

  • @user-ff5fy9jo9s
    @user-ff5fy9jo9s Před rokem

    Я бы сказал Deep Dive in С++

  • @vicigneus259
    @vicigneus259 Před 2 lety +1

    Вы спрашиваете про знание Си. Я знаю, что Вы преподавали Си, но почему то не выкладываете лекции по этому языку. Хотелось бы с ними ознакомится. Хотя бы по тому, что Си можно выучить, а С++ нет. Спасибо.

    • @tilir
      @tilir  Před 2 lety +11

      Я уже отвечал ниже в комментариях. Мои семинары по языку C сложны для экранизации. Там мало экшена, люди там много решают задачи прямо на семинаре и т.п.
      Все материалы выложены. Зайдите на cs.mipt.ru/wp/?page_id=7775 и дальше по ссылкам.

  • @Kolbastero
    @Kolbastero Před rokem +1

    Здраствуйте, Константин Владимиров! Я не студент МФТИ, но как видите я тут. На моменте, когда вы разбирали списки литературы, у меня возник вопрос, почему там не было Брюса Эккеля? Название книги: "Философия С++. Введение в стандартный С++"

    • @tilir
      @tilir  Před rokem +1

      А почему он тут должен быть? Ничего плохого про Эккеля не скажу, но это явно не блестящая книга и не мастрид. Так, серединка второго эшелона. Я никак её при подготовке лекций не использовал, не цитировал и конечно её нет в списке литературы.

  • @user-fh9jb9nz2m
    @user-fh9jb9nz2m Před měsícem

    Скажите пожалуйста, просто любопытно а литература за 1988 год разве еще актуальна 🤨?

  • @HelloWorld-il4rs
    @HelloWorld-il4rs Před rokem

    Говорят, что язык Си это подмножество языка Си++.
    А как правильно делать?
    1. Сначала изучить Си, затем с этими знаниями изучать Си ++.
    2. Начать изучать Си++ и параллельно изучить Си, предварительно не изучая Си.

    • @tilir
      @tilir  Před rokem

      Есть разные мнения но мне кажется правильно так: на первом курсе Си и ассемблер, на втором C++.

    • @user-yk5pk9gm9t
      @user-yk5pk9gm9t Před rokem

      начальный уровень обоих языков одинаковый. Поэтому, можете сразу изучать с++. Изучив начальный уровень языка с++, вы будете владеть начальным уровнем сишки тоже.

  • @anoona5015
    @anoona5015 Před 2 lety +1

    Почему-то думал что у вас аудитория всегда постарше курса так на 3

    • @tilir
      @tilir  Před 2 lety +1

      На этом же канале лежит магистерский курс. Там для пятого. А этот базовый бакалаврский. Он для второго.

    • @DART2WADER
      @DART2WADER Před 2 lety

      @@tilir будем посмотреть продолжение.

  • @user-xq6hs5it4e
    @user-xq6hs5it4e Před rokem +1

    Возможно, Константин был в курсе идей по обучению C++, предложенных Bjarne Stroustrup czcams.com/video/fX2W3nNjJIo/video.html и Kate Gregory czcams.com/video/YnWhqhNdYyk/video.html . Но он пошёл дальше! Именно поэтому его курс по C++ лучше, чем другие! P.S.: я искренне восхищен Константином и его логикой изложения идей! Единственное, по правде говоря, я бы перед этим курсом в тайне прочитал 3 книги Bjarne Stroustrup (с задачами из третьего издания, как и было сказано). Просто чтобы происходящее казалось непринужденной беседой )))

    • @tilir
      @tilir  Před rokem

      Я в курсе и я не в восторге. Тут зависит от целей обучения. Для моих целей подход госпожи Грегори не подходит.

    • @H01HUD9
      @H01HUD9 Před 11 měsíci

      О каких трёх книгах книгах Страуструпа вы имеете ввиду?

  • @olegivanov9607
    @olegivanov9607 Před 2 lety

    недавно поковырял winapi, плюсами и не пахнет, а количесво макросов удручает.

    • @tilir
      @tilir  Před 2 lety

      Любое API стараются делать сишным по причинам, которые излагаются в третьей лекции (манглинг и пр.)

  • @minorman
    @minorman Před 9 měsíci

    31:00

  • @victormustya1745
    @victormustya1745 Před 2 lety +1

    "Возможность из C, которой нет в C++" --- это ты не про VLA, часом?

    • @tilir
      @tilir  Před 2 lety +1

      Ну я про VLA вообще не думал, но наверное да (хотя с моей точки зрения его и в C нет, там сомнительная условная поддержка в стандарте). Ещё про всякий там restrict, про static в аргументах, про расширенную инициализацию массивов и прочее.

    • @victormustya1745
      @victormustya1745 Před 2 lety

      @@tilir "расширенная инициализация массивов" это как выглядит?

    • @tilir
      @tilir  Před 2 lety

      @@victormustya1745 int arr[MAX] = { 1, 3, 5, [MAX-3] = 8, 4, 2 };

  • @user-or4dy5np9l
    @user-or4dy5np9l Před rokem

    Понимаю, что эта лекция может помочь мне в явлении гармонии народу. Поясняю, я пытаюсь создать велосипед. Идея: из центра сферы треугольниками изобразить путь, который доходя до внешней оболочки построенной тоже на треугольниках , при совпадении пронизывается лучом, совершая цикл. Так вот у меня модель. у вас глубокие знания, но я не уверен, что удастся так погрузиться в понимание всей темы. Ваши энциклопедические знания давят на меня ужасно.