Шаблоны функций. Шаблонные функции c++. template typename. template class. Урок #41

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

КОМЕНТАРІ • 329

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

    Если честно, то это самые топовые уроки по С++, очень доступно и интересно) Спасибо Вам большое, ибо если бы не вы я ничего не понял бы)

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

      Пожалуйста!

    • @anthonygarrett3926
      @anthonygarrett3926 3 роки тому +1

      A trick : you can watch movies at flixzone. Been using it for watching all kinds of movies recently.

    • @bensonryker4798
      @bensonryker4798 3 роки тому +1

      @Anthony Garrett Yea, been watching on Flixzone for since december myself :D

    • @kazakhjojo
      @kazakhjojo 3 роки тому +1

      @@anthonygarrett3926 This is out of theme of the video, get out from here, dumbs

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

      Надо было ещё упомянуть, что если написать вот так:
      T1 Sum(T1 a, T2 b)
      {
      return a+b;
      }
      , то результат приведётся к типу параметра переданного в "а". Т.е. вызвав Sum(1, 3.3) результат будет целого типа, а если Sum(3.3, 1), то дробного

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

    БЛАГОДАРЮ ЗА УРОКИ СЭНСЭЙ!

  • @NeVR0tik
    @NeVR0tik 2 роки тому +78

    Да хранит тебя священный код. Очень выручаешь. Раньше по 2 часа искал нормальную инфу в инете, а теперь смотрю твои уроки.
    P.S. если отучусь на программиста, то назову своего сына Симпл в твою честь. Именно в твою, а не киберспортсмена.

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

    Боже… Кто же поставил дизлайк? Что это за человек такой…

    • @ямаслинупоймал
      @ямаслинупоймал 6 років тому +21

      а вдруг ето ты )))

    • @xkenjutsu
      @xkenjutsu 5 років тому +17

      скорее всего случайно

    • @TheWladberlin
      @TheWladberlin 5 років тому +10

      Ущербные люди... Просто завидуют ;)

    • @donrumata5299
      @donrumata5299 4 роки тому +4

      @@TheWladberlin Дело в том, что воды ГОРА!

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

      @@deinstalyator5704 Советую уроки The Chreno. Там и сам рассказ совсем на другом уровне, да ещё и английский можно подучить.

  • @amd3s
    @amd3s 7 років тому +114

    Спасибо за урок, как и за весь курс в целом!
    Все очень доступно и понятно.

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

    Готовлюсь к экзамену по Вашим видео. Информация изложена очень доступно. Даже для тугодумов вроде меня.
    Спасибо!

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

      Удачи с экзаменом =)

    • @SaffronChipMCPE
      @SaffronChipMCPE 4 роки тому +2

      @@SimpleCodeIT на ЕГЭ можно использовать принцип ООП, не знаете? :>

    • @whatever6223
      @whatever6223 4 роки тому +1

      @@SaffronChipMCPE там нет нужды в нем, все задачи решаются примитивным кодом

    • @SaffronChipMCPE
      @SaffronChipMCPE 4 роки тому +1

      @@whatever6223 я просто, чтобы знать

    • @whatever6223
      @whatever6223 4 роки тому +1

      @@SaffronChipMCPE теоретически - можно. Практически - не советую.

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

    ЛУЧШИЕ УРОКИ ПО ПРОГРАММИРОВАНИЮ

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

      Спасибо! =)

    • @HMEi100
      @HMEi100 2 місяці тому

      ​@@SimpleCodeITвернитесь на ютуб пожалуйста

  • @ИлиясКоянбай
    @ИлиясКоянбай 6 років тому +30

    Спасибо за уроки)) как же я рад что нашел этот канал, не понимаю зачем поставили дизлайк, может кто то так захотел чтобы сохранит эти бесценные знания от многих? Но скажу что это не я) я всегда вставлю лайк перед просмотром урока))

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

      а я всегда после. Ибо без анализа, оценить продукт нельзя. А диз скорее всего бот поставил.

  • @ДимДимыч-ц1в
    @ДимДимыч-ц1в 3 роки тому +46

    2:00 - Что такое шаблонная функция?
    5:15 - Шаблонная функция // Т - Тип данных передаваемых в функцию (int, double и др.)
    6:20 - Вызов шаблонной функции Sum();
    11:25 - Шаблонная функция с разными типами данных

  • @МихаилСкворцов-ч6к
    @МихаилСкворцов-ч6к 6 років тому +14

    Да. Это, действительно, очень классная штука! Благодарю за урок.

  • @mr.warpunch6007
    @mr.warpunch6007 2 роки тому +2

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

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

    Дай Бог Вам здоровья! Всё предельно ясно объяснено! Спасибо!

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

    Спасибо, благодаря вашим урокам легко готовиться к контрольным и сессии.

  • @dt_sevatarion
    @dt_sevatarion 5 років тому +2

    Сергей! спасибо за уроки! Все понятно и кратко! без воды и все структурировано! рекомендую скорость просмотра 1.25

  • @ИгорьЛитвинов-щ6т
    @ИгорьЛитвинов-щ6т 4 роки тому +5

    Спасибо Вам за уроки! Очень помогают в институте!

  • @Евгений-к1г9е
    @Евгений-к1г9е 7 років тому +8

    Круто! Спасибо за новую и полезную инфу!

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

    Кодеры языка С++ делятся на 2 типа
    1. Те кто пишет typename
    2. И те кто пишет class

    • @ВладимирБалашиха
      @ВладимирБалашиха 2 роки тому +2

      @U.P. а я ярый сишник и сишарповец, буду писать и так и так

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

      @@ВладимирБалашиха Ярый Сишарповец не знает слово "Шаблонный метод", он знает слово Generic

    • @emilevi4591
      @emilevi4591 2 роки тому +1

      @@strug1819 База!

    • @usersktv
      @usersktv 2 роки тому +1

      @@emilevi4591 грунт

    • @Дося-э4ч
      @Дося-э4ч Рік тому +1

      @@usersktv песок

  • @Ermine882
    @Ermine882 7 років тому +12

    Очередное спасибо.

  • @volodymyrgutsu7011
    @volodymyrgutsu7011 7 років тому +8

    Уроки отличные, спасибо!

  • @АртемКулык-у9х
    @АртемКулык-у9х 7 років тому +6

    Спасибо огромное за уроки!

  • @anvel1687
    @anvel1687 7 років тому +12

    классные уроки, спасибо!)

  • @ДмитрийОсипов-х1ф
    @ДмитрийОсипов-х1ф 7 років тому +3

    * Самые понятные, видео уроки по c++, на всём (RU) youtube *

  • @viktorsorokin5124
    @viktorsorokin5124 8 місяців тому +1

    Какой же ты красавчик!

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

    Спасибо автору! Хорошие уроки. Понравилось качество подачи материала и суть. На си++ программировал как самоучка (как и на многих других), но всё время мучило ощущение что нет базы и поэтому эффективность низкая. Вот с этих уроков решил восполнить в пробелах знаний. Слушаю в ускоренном темпе х2 (притормаживаю когда идет повествование новых для меня знаний), получается хорошо, благодаря хорошей дикции автора. Читаю так же книгу "C++ для профи" Джоша Лоспинзо, хорошее сочетание с этими уроками, обучение идет просто на супер скорости с хорошим запоминанием. Еще раз большое спасибо автору!

  • @lost3575
    @lost3575 7 років тому +9

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

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

    Спасибо! Это мне поможет в будущем))

  • @ДимаБутылкин-щ7н
    @ДимаБутылкин-щ7н 4 роки тому +1

    смотрю из 2020. Сергей, спасибо тебе!

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

    Просто офигенная информация!!! Спасибо тебе огромное за твои видео, Сергей! Дай Бог тебе здоровья и долгой жизни!

  • @ВасилийРыбкин-ф6ч
    @ВасилийРыбкин-ф6ч 5 років тому +1

    Cпасибо за курс! Очень хорошо объяснете. Все понятно

  • @МихаилАндреев-и9л
    @МихаилАндреев-и9л 3 роки тому +1

    Спасибо за то что делаете!

  • @Tarik91011
    @Tarik91011 4 роки тому +1

    У меня аж сердце схватило после слов ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ.

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

    Очень доступно и понятно. Спасибо большое .

  • @thecrew4343
    @thecrew4343 5 років тому +20

    Class работает ещё и с пользовательский типами данных, в то время как typename работает только со встроенными

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

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

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

    Как же помогают Ваши уроки, большое спасибо!😃

  • @АлексейВоликов-е9я

    Спасибо за урок, как и за весь курс. Очень помогают !

  • @РустамХуаде-у4и

    Ставьте лайк если вы тоже были на измене с криков на второй минуте)) Автору спасибо, лучшие уроки по плюсам))

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

    Круто было бы еще услышать о decltype. Уроки супер!!! Очень доходчиво.

  • @_torphi_
    @_torphi_ Рік тому +1

    благодаря вам я наконец-то понял логику рекурсии.
    Спасибо!!

  • @xvostbobra
    @xvostbobra 10 місяців тому

    Просто лучший учитель программирования в ру сегменте!

  • @ruscyber9765
    @ruscyber9765 2 роки тому +12

    template
    auto Sum(T1 a, T2 b) {
    return a + b;
    }
    Работает со всеми типами чисел

    • @НикитаКупцов-й2ъ
      @НикитаКупцов-й2ъ 2 роки тому

      Спасибо тебе, добрый человек, так стало гораздо проще работать с разными значениями

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

      template
      auto sum (tip1 a, tip2 b)
      {
      cout

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

      @@sogood3868 Это ты о чем?

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

      ​@@ruscyber9765 Это я про то как же не выводить значение return в консоль при таком способе?

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

      @@sogood3868 return "" попробуйте

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

    Класс! и Тайпнейм тоже!

  • @mrslashx
    @mrslashx 2 роки тому +1

    Вот есть же на свете хорошие люди...

  • @SeniorHFq
    @SeniorHFq 4 роки тому +5

    Занимаюсь по урокам 3х летней давности) Ну хоть не 10 летней, как делают в моем институте.

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

    Спасибо вам огромное за ликбез и за ваш труд!

  • @МуслимКурбанов-к4в
    @МуслимКурбанов-к4в 5 років тому

    Огромное вам спасибо, очень доступно и понятно!

  • @german4363
    @german4363 4 роки тому +1

    слава богу есть такой человек крутой

  • @ВаняВолошин-о2и
    @ВаняВолошин-о2и 7 років тому +8

    Спасибо, продолжай )))

  • @Firuz26
    @Firuz26 7 років тому +8

    Спасибо

  • @SimpleCodeIT
    @SimpleCodeIT  7 років тому +17

    #шаблоныфункций #SimpleCode #урокипрограммирования

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

      наоборот class из языка С, а typename новое понятие введенное по моему С++ 14 стандарте

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

      в чистом Си есть классы?

    • @ЯЗдесь-ъ5ф
      @ЯЗдесь-ъ5ф 6 років тому

      Я читал, что template используют для своих типов данных, таких как struct.Прокомментируй пожалуйста, что бы развеять или подтвердить.
      Спасибо за все уроки!

  • @Непрофессионалымы

    дай Бог здоровья тебе, автор

  • @polmesh2057
    @polmesh2057 Рік тому +1

    Благодарю за видео

  • @TyurinAlexey
    @TyurinAlexey 5 років тому +3

    Что то не получается реализовать что бы при помощи cin можно было вводить значения, принцип как на первых уроках но что бы реализовано именно по водным этого урока.
    #include
    using namespace std;
    template
    void Sum(T1 c, T1 a)
    {
    сin >> a;
    cin >> b;
    cout

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

    хорошие уроки, продолжайте, пожалуйста.

  • @polmesh2057
    @polmesh2057 Рік тому +1

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

  • @ДГаусс
    @ДГаусс 5 років тому

    Спасибо! Очень хорошо рассказываешь!

  • @ЯнаБабичева-е8ь
    @ЯнаБабичева-е8ь 2 роки тому

    Как всегда превосходно!!!

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

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

  • @GLASBE
    @GLASBE 4 роки тому +1

    Хорошее видео. Ставлю typename.

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

    Насколько знаю, typename используется для встроенных типов данных, т.е. int, double, char и тд, а class используется для пользовательских типов данных. Но в целом разницы действительно нет, работает что то, что то.

    • @ВладимирБалашиха
      @ВладимирБалашиха 2 роки тому +4

      то есть разница СУЩЕСТВЕННАЯ - ОДНО ДЛЯ ВСТРОЕННЫХ ТИПОВ, ДРУГОЕ ДЛЯ ОСТАЛЬНЫХ, БЛАГОДАРЮ

    • @ВладимирБалашиха
      @ВладимирБалашиха 2 роки тому +3

      то есть разница СУЩЕСТВЕННАЯ - ОДНО ДЛЯ ВСТРОЕННЫХ ТИПОВ, ДРУГОЕ ДЛЯ ОСТАЛЬНЫХ, БЛАГОДАРЮ!!!!!!!!!!!!!!!!!!!!

  • @dimatuzkoff
    @dimatuzkoff Рік тому +1

    Очень круто объясняете)

  • @codemaniacchannel6422
    @codemaniacchannel6422 3 роки тому +3

    Привет, спасибо за урок, расскажи пожалуйста о concept для шаблонных функций в стандарте С++20 - в сети тонна материала, но на простых материалах не доносят.

  • @telebumba4348
    @telebumba4348 5 місяців тому

    Спасибо огромное!

  • @volodymyrgutsu7011
    @volodymyrgutsu7011 7 років тому +64

    Автор дизлайка хоть бы коммент оставил.

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

      Школьник мб какой, обиделся, ибо "нипанятна".))

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

      По ходу он все видео проминусил. Чего минусить? Видео снято по принципу "Куда уж понятней". Вся мешанина в голове потихоньку выстраивается в систему. Автор, спасибо! Я колокольчик включил только у Жени Баженова и, вот еще у тебя.
      Может и правда кодить начну.

    • @khasantochiev3829
      @khasantochiev3829 5 років тому +3

      ​@@divealise, начал кодить?

    • @PanVladyslav
      @PanVladyslav 5 років тому +1

      или по-прежнему input / output только ?)

    • @straycatstudio2650
      @straycatstudio2650 5 років тому +1

      @@divealise ну шо кодишь?

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

    Спасибо большое за урок!

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

    Прекрасный урок спасибо

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

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

  • @РадикБлоб
    @РадикБлоб Рік тому

    Спасибо за урок, смотрю и учусь по вашему курсу, все понятно и изложено отлично, но меня наверное одного смутили крики на заднем плане)

  • @STRANEV
    @STRANEV 3 роки тому +1

    Если я не ошибаюсь, то "class" ввёл Бьёрн Страуструп, но комитет по стандартизации решил, что это будет приводить к разночтениям и решил добавить еще и "typename". На что Cтрауструп ответил, что он плохо печатает и ему удобнее набирать Class т.к оно короче.

  • @fsagitov753
    @fsagitov753 2 роки тому +1

    Здравствуйте, спасибо за уроки. Использую компилятор MinGW и среду VS code. При компиляции выводит следующую ошибку:
    "отсутствуют экземпляры шаблон функции "Sum", соответствующие списку аргументов -- типы аргументов: (int)"
    Код идентичный вашему. Это может быть связано с тем, что я использую отличный от вашего компилятор?

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

    кротко и ясно просто супер

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

    на фоне дети орут)))

    • @VadimGV
      @VadimGV 5 років тому +22

      Да орут так, будто режут там кого-то)

    • @bogdansleptcov3098
      @bogdansleptcov3098 5 років тому +147

      pascal учат

    • @misha2993
      @misha2993 4 роки тому +8

      @@bogdansleptcov3098 Ахахах

    • @NoName-mh8gj
      @NoName-mh8gj 4 роки тому +4

      @@VadimGV программирование учат

    • @ggaming7296
      @ggaming7296 4 роки тому +1

      А какой комбинацией клавиш красиво ide оформляет строку?

  • @thebuckzor688
    @thebuckzor688 4 роки тому +2

    Отличный урок 🔥🔥, но внесу небольшую поправку в «совместимость языков». Они совместимы только односторонне - весь функционал C можно использовать в C++, но не наоборот

    • @ensiferrus9090
      @ensiferrus9090 4 роки тому +1

      Это потому, что "надстройкой" С является Objective-C, а С++ - это отдельный язык, вдохновлённый С и другим, менее известным ЯП. На ютубе на эту тему можно найти интервью Штрауструпа, а в интернете - статьи за его же авторством, где он прямо говорит, что писать на С++ как на С - очень плохая идея.
      Тоже, так сказать, поправочку решил внести.

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

    Дети на фоне дают чувство будто тебя учит брат в комнате , спасибо за уроки кстати )

  • @kamilk4997
    @kamilk4997 5 років тому +1

    спасибо большое!

  • @ИоаннДейкун
    @ИоаннДейкун Рік тому

    привет из 2023. Большое спасибо за уроки!

  • @Лілякіш
    @Лілякіш 2 роки тому +4

    боже если бы были хоть какие-то деньги, то скинула бы вам. Какой бесценный материал

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

    Супер спасибо!

  • @worldgood6326
    @worldgood6326 3 роки тому +1

    Попробуй создать сайт по учению языка c++.
    По моему идея классная!!

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

    Спасибо Очень крутой инструмент

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

    Разница между `typename` и `class` есть только в не контекста шаблонных функций, когда недопустимо использование `class`, например в определении шаблонных типов - `typedef typename T::type Type`

  • @ГусейнСалахов
    @ГусейнСалахов 4 роки тому +1

    Удачи в развитии канала)))

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

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

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

    МегаПолезно!

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

    ааа! супер! то что надо!
    спасибо

  • @ФеодосийМахно-х8ю
    @ФеодосийМахно-х8ю 3 роки тому

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

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

    Nice lesson!!!

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

    Прикольно, не знал что так называемый generic из TypeScript в C++ называется шаблонная ф-ция)

  • @АлександрЛейкин-т9п

    Класс, попробовал int и string не прокатило))

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

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

  • @tich34
    @tich34 4 роки тому +1

    ахахаха, кто на заднем фоне кричит))))
    Лайк автору!

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

    После TypeScript улыбаюсь)))

  • @licantrop609
    @licantrop609 Рік тому +1

    Стоит добавить, шаблонная функция не будет работать, если в ее аргументах не будет значений шаблонного типа, которое возвращает функция.

  • @Дмитрий-к2у7щ
    @Дмитрий-к2у7щ 6 років тому +1

    Шаблонные функции должны быть определены до функции main? Или можно определить и после, но при нужно будет создать ее прототип до main? И вообще можно ли создать прототип шаблонной функции?

    • @BadDanFeeds
      @BadDanFeeds 5 років тому +2

      template
      void Func(T1, T2);
      void main()
      {
      Func(2, 3.45);
      }
      template
      void Func(T1 a, T2 b) { }

  • @ЛуизаЛихтер
    @ЛуизаЛихтер 5 років тому +1

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

  • @aska1218
    @aska1218 Рік тому +2

    Если использовать Т1 и Т2, и при вызове функции использовать два целочисленных числа, то есть один тип данных, будет ли ругаться программа? Надо будет проверить✅

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

    Примного благодарен за эти уроки я ещё школьник и я уже имею базовые знания спасибо огромное

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

      Но я старше 13

  • @ВитяЛуценко-ы2д
    @ВитяЛуценко-ы2д 3 роки тому

    Класс

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

    👍👍👍👍👍

  • @chelovechek7773
    @chelovechek7773 6 місяців тому

    👍