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

  Рет қаралды 281,042

#SimpleCode

#SimpleCode

Күн бұрын

Пікірлер: 329
@yuraprokopchuk7072
@yuraprokopchuk7072 6 жыл бұрын
Если честно, то это самые топовые уроки по С++, очень доступно и интересно) Спасибо Вам большое, ибо если бы не вы я ничего не понял бы)
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Пожалуйста!
@anthonygarrett3926
@anthonygarrett3926 3 жыл бұрын
A trick : you can watch movies at flixzone. Been using it for watching all kinds of movies recently.
@bensonryker4798
@bensonryker4798 3 жыл бұрын
@Anthony Garrett Yea, been watching on Flixzone for since december myself :D
@kazakhjojo
@kazakhjojo 2 жыл бұрын
@@anthonygarrett3926 This is out of theme of the video, get out from here, dumbs
@balepaD
@balepaD 2 жыл бұрын
Надо было ещё упомянуть, что если написать вот так: T1 Sum(T1 a, T2 b) { return a+b; } , то результат приведётся к типу параметра переданного в "а". Т.е. вызвав Sum(1, 3.3) результат будет целого типа, а если Sum(3.3, 1), то дробного
@amd3s
@amd3s 7 жыл бұрын
Спасибо за урок, как и за весь курс в целом! Все очень доступно и понятно.
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
Пожалуйста! =)
@proKaps
@proKaps 6 жыл бұрын
Боже… Кто же поставил дизлайк? Что это за человек такой…
@ямаслинупоймал
@ямаслинупоймал 6 жыл бұрын
а вдруг ето ты )))
@xkenjutsu
@xkenjutsu 5 жыл бұрын
скорее всего случайно
@TheWladberlin
@TheWladberlin 5 жыл бұрын
Ущербные люди... Просто завидуют ;)
@donrumata5299
@donrumata5299 4 жыл бұрын
@@TheWladberlin Дело в том, что воды ГОРА!
@donrumata5299
@donrumata5299 4 жыл бұрын
@@deinstalyator5704 Советую уроки The Chreno. Там и сам рассказ совсем на другом уровне, да ещё и английский можно подучить.
@geo790805
@geo790805 6 жыл бұрын
БЛАГОДАРЮ ЗА УРОКИ СЭНСЭЙ!
@МихаилСкворцов-ч6к
@МихаилСкворцов-ч6к 6 жыл бұрын
Да. Это, действительно, очень классная штука! Благодарю за урок.
@NeVR0tik
@NeVR0tik 2 жыл бұрын
Да хранит тебя священный код. Очень выручаешь. Раньше по 2 часа искал нормальную инфу в инете, а теперь смотрю твои уроки. P.S. если отучусь на программиста, то назову своего сына Симпл в твою честь. Именно в твою, а не киберспортсмена.
@RrRrRrRroman
@RrRrRrRroman Жыл бұрын
🤣
@ballistix07
@ballistix07 11 ай бұрын
Удачи на пути к программированию)
@АндрейКузьменко-э9е
@АндрейКузьменко-э9е 5 ай бұрын
Ну как?
@Ermine882
@Ermine882 7 жыл бұрын
Очередное спасибо.
@ДмитрийОсипов-х1ф
@ДмитрийОсипов-х1ф 7 жыл бұрын
* Самые понятные, видео уроки по c++, на всём (RU) youtube *
@darianikitina8249
@darianikitina8249 6 жыл бұрын
Готовлюсь к экзамену по Вашим видео. Информация изложена очень доступно. Даже для тугодумов вроде меня. Спасибо!
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Удачи с экзаменом =)
@SaffronChipMCPE
@SaffronChipMCPE 4 жыл бұрын
@@SimpleCodeIT на ЕГЭ можно использовать принцип ООП, не знаете? :>
@whatever6223
@whatever6223 4 жыл бұрын
@@SaffronChipMCPE там нет нужды в нем, все задачи решаются примитивным кодом
@SaffronChipMCPE
@SaffronChipMCPE 4 жыл бұрын
@@whatever6223 я просто, чтобы знать
@whatever6223
@whatever6223 4 жыл бұрын
@@SaffronChipMCPE теоретически - можно. Практически - не советую.
@viktorsorokin5124
@viktorsorokin5124 7 ай бұрын
Какой же ты красавчик!
@thecrew4343
@thecrew4343 5 жыл бұрын
Class работает ещё и с пользовательский типами данных, в то время как typename работает только со встроенными
@emilabbas6154
@emilabbas6154 6 жыл бұрын
спасибо очень полезные уроки по программирования
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Пожалуйста!
@ИлиясКоянбай
@ИлиясКоянбай 6 жыл бұрын
Спасибо за уроки)) как же я рад что нашел этот канал, не понимаю зачем поставили дизлайк, может кто то так захотел чтобы сохранит эти бесценные знания от многих? Но скажу что это не я) я всегда вставлю лайк перед просмотром урока))
@zumaxrussia
@zumaxrussia 6 жыл бұрын
а я всегда после. Ибо без анализа, оценить продукт нельзя. А диз скорее всего бот поставил.
@TyurinAlexey
@TyurinAlexey 5 жыл бұрын
Что то не получается реализовать что бы при помощи cin можно было вводить значения, принцип как на первых уроках но что бы реализовано именно по водным этого урока. #include using namespace std; template void Sum(T1 c, T1 a) { сin >> a; cin >> b; cout
@Непрофессионалымы
@Непрофессионалымы Жыл бұрын
дай Бог здоровья тебе, автор
@overdoses1794
@overdoses1794 6 жыл бұрын
Спасибо! Это мне поможет в будущем))
@Лілякіш
@Лілякіш 2 жыл бұрын
боже если бы были хоть какие-то деньги, то скинула бы вам. Какой бесценный материал
@ДимДимыч-ц1в
@ДимДимыч-ц1в 3 жыл бұрын
2:00 - Что такое шаблонная функция? 5:15 - Шаблонная функция // Т - Тип данных передаваемых в функцию (int, double и др.) 6:20 - Вызов шаблонной функции Sum(); 11:25 - Шаблонная функция с разными типами данных
@lenagolovach2870
@lenagolovach2870 Жыл бұрын
1:57 - Скулит собака на фоне 5:11 - Кричат дети
@thevoidguy7945
@thevoidguy7945 Жыл бұрын
ok
@ananas6000
@ananas6000 Жыл бұрын
​@@lenagolovach2870😮
@byseeman
@byseeman 6 жыл бұрын
ЛУЧШИЕ УРОКИ ПО ПРОГРАММИРОВАНИЮ
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Спасибо! =)
@HMEi100
@HMEi100 2 ай бұрын
​@@SimpleCodeITвернитесь на ютуб пожалуйста
@ISppsd
@ISppsd 6 жыл бұрын
Кодеры языка С++ делятся на 2 типа 1. Те кто пишет typename 2. И те кто пишет class
@ВладимирБалашиха
@ВладимирБалашиха 2 жыл бұрын
@U.P. а я ярый сишник и сишарповец, буду писать и так и так
@strug1819
@strug1819 2 жыл бұрын
@@ВладимирБалашиха Ярый Сишарповец не знает слово "Шаблонный метод", он знает слово Generic
@emilevi4591
@emilevi4591 2 жыл бұрын
@@strug1819 База!
@usersktv
@usersktv 2 жыл бұрын
@@emilevi4591 грунт
@Дося-э4ч
@Дося-э4ч Жыл бұрын
@@usersktv песок
@ЯнаБабичева-е8ь
@ЯнаБабичева-е8ь 2 жыл бұрын
Как всегда превосходно!!!
@РадикБлоб
@РадикБлоб Жыл бұрын
Спасибо за урок, смотрю и учусь по вашему курсу, все понятно и изложено отлично, но меня наверное одного смутили крики на заднем плане)
@archiechellaut9483
@archiechellaut9483 3 жыл бұрын
Спасибо большое за урок!
@bulba1995
@bulba1995 2 жыл бұрын
Спасибо за урок .
@nicecontra1
@nicecontra1 6 жыл бұрын
Насколько знаю, typename используется для встроенных типов данных, т.е. int, double, char и тд, а class используется для пользовательских типов данных. Но в целом разницы действительно нет, работает что то, что то.
@ВладимирБалашиха
@ВладимирБалашиха 2 жыл бұрын
то есть разница СУЩЕСТВЕННАЯ - ОДНО ДЛЯ ВСТРОЕННЫХ ТИПОВ, ДРУГОЕ ДЛЯ ОСТАЛЬНЫХ, БЛАГОДАРЮ
@ВладимирБалашиха
@ВладимирБалашиха 2 жыл бұрын
то есть разница СУЩЕСТВЕННАЯ - ОДНО ДЛЯ ВСТРОЕННЫХ ТИПОВ, ДРУГОЕ ДЛЯ ОСТАЛЬНЫХ, БЛАГОДАРЮ!!!!!!!!!!!!!!!!!!!!
@telebumba4348
@telebumba4348 4 ай бұрын
Спасибо огромное!
@Lek0n
@Lek0n 6 жыл бұрын
Спасибо, благодаря вашим урокам легко готовиться к контрольным и сессии.
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Пожалуйста!
@Азамат5-ч5е
@Азамат5-ч5е Жыл бұрын
@@SimpleCodeIT Лучший!
@Азамат5-ч5е
@Азамат5-ч5е Жыл бұрын
Я знаю!
@Азамат5-ч5е
@Азамат5-ч5е Жыл бұрын
И чё?
@Азамат5-ч5е
@Азамат5-ч5е Жыл бұрын
Да ни чё!
@SeniorHFq
@SeniorHFq 4 жыл бұрын
Занимаюсь по урокам 3х летней давности) Ну хоть не 10 летней, как делают в моем институте.
@AnatoliyMir
@AnatoliyMir 5 жыл бұрын
Nice lesson!!!
@anvel1687
@anvel1687 7 жыл бұрын
классные уроки, спасибо!)
@viacheslavbarkov6538
@viacheslavbarkov6538 4 жыл бұрын
15:29 Ключевого слова typename нет в языке C. Только в C++
@Blendershick
@Blendershick 4 жыл бұрын
Спасибо
@alexrastrizh1676
@alexrastrizh1676 6 жыл бұрын
Ключевое слово class означает что тип может быть пользовательским а typename только встроенные или наоборот, я точно не помню)
@jeen9984
@jeen9984 6 жыл бұрын
Так и есть. Typename для встроенного типа, а class для пользовательского. Но как и сказал автор, отличия нет, можно и то и другое использовать.
@kemsekov6331
@kemsekov6331 4 жыл бұрын
С какой то там версии c++ было добавлена возможность к typename использовать не только встроенные типы. Теперь(по крайней мере у меня на с++ с последнего черновика) typename прекрасно работает с чем угодно.
@kamilk4997
@kamilk4997 5 жыл бұрын
спасибо большое!
@biscvie
@biscvie 2 жыл бұрын
Спасибо за урок)
@ruscyber9765
@ruscyber9765 2 жыл бұрын
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 "" попробуйте
@Евгений-к1г9е
@Евгений-к1г9е 7 жыл бұрын
Круто! Спасибо за новую и полезную инфу!
@ИоаннДейкун
@ИоаннДейкун Жыл бұрын
привет из 2023. Большое спасибо за уроки!
@ИгорьЛитвинов-щ6т
@ИгорьЛитвинов-щ6т 4 жыл бұрын
Спасибо Вам за уроки! Очень помогают в институте!
@ВаняВолошин-о2и
@ВаняВолошин-о2и 7 жыл бұрын
Спасибо, продолжай )))
@lost3575
@lost3575 7 жыл бұрын
спасибо за урок!
@ЯрославГоловко-ф6и
@ЯрославГоловко-ф6и 4 жыл бұрын
спасибо
@codemaniacchannel6422
@codemaniacchannel6422 3 жыл бұрын
Привет, спасибо за урок, расскажи пожалуйста о concept для шаблонных функций в стандарте С++20 - в сети тонна материала, но на простых материалах не доносят.
@NX_DE
@NX_DE Жыл бұрын
маленькие питонщики на фоне.
@sleepyNovember_project
@sleepyNovember_project 7 ай бұрын
Ахахахаапх
@Firuz26
@Firuz26 7 жыл бұрын
Спасибо
@sense3247
@sense3247 5 жыл бұрын
И кто то утверждает, что математика в программировании не нужна) Принцип шаблонов взят опять же из математики. Вместо конкретных чисел, используются буквы. Математик стремится к обобщению. Настоящий программист так же.
@volodymyrgutsu7011
@volodymyrgutsu7011 7 жыл бұрын
Уроки отличные, спасибо!
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
Пожалуйста! =)
@volodymyrgutsu7011
@volodymyrgutsu7011 7 жыл бұрын
Автор дизлайка хоть бы коммент оставил.
@std4042
@std4042 6 жыл бұрын
Школьник мб какой, обиделся, ибо "нипанятна".))
@divealise
@divealise 6 жыл бұрын
По ходу он все видео проминусил. Чего минусить? Видео снято по принципу "Куда уж понятней". Вся мешанина в голове потихоньку выстраивается в систему. Автор, спасибо! Я колокольчик включил только у Жени Баженова и, вот еще у тебя. Может и правда кодить начну.
@khasantochiev3829
@khasantochiev3829 5 жыл бұрын
​@@divealise, начал кодить?
@PanVladyslav
@PanVladyslav 5 жыл бұрын
или по-прежнему input / output только ?)
@straycatstudio2650
@straycatstudio2650 5 жыл бұрын
@@divealise ну шо кодишь?
@АртемКулык-у9х
@АртемКулык-у9х 7 жыл бұрын
Спасибо огромное за уроки!
@licantrop609
@licantrop609 Жыл бұрын
Стоит добавить, шаблонная функция не будет работать, если в ее аргументах не будет значений шаблонного типа, которое возвращает функция.
@ЛуизаЛихтер
@ЛуизаЛихтер 5 жыл бұрын
Удручает, что Вы не рассказали про явную специализацию шаблона. В частности интересует вопрос: может ли шаблонная функция возвращать разные типы в случае явных специализаций? Если да, то как это правильно реализовать?
@ivankprod
@ivankprod 2 жыл бұрын
тип auto
@argabid5897
@argabid5897 Жыл бұрын
Прикольно, не знал что так называемый generic из TypeScript в C++ называется шаблонная ф-ция)
@mr.warpunch6007
@mr.warpunch6007 2 жыл бұрын
Офигенно изложил, капец, ты профи, так понятно объяснить такую непростую тему на мой взгляд, это надо иметь талант, автору респект!!!!!!
@vovadenys4149
@vovadenys4149 5 жыл бұрын
возможно не прав (не проверял) но "Ключевое слово typename говорит о том, что в шаблоне будет использоваться встроенный тип данных, такой как: int, double, float, char и т. д. А ключевое слово class сообщает компилятору, что в шаблоне функции в качестве параметра будут использоваться пользовательские типы данных, то есть классы."
@kemsekov6331
@kemsekov6331 4 жыл бұрын
Скорее всего теперь typename и class являются просто неведомой галочкой для программиста о том, используются пользовательские данные в данном классе(функции) либо нет, так как на последних версиях с++ typename способен поддерживать пользовательские типы данных
@vovadenys4149
@vovadenys4149 4 жыл бұрын
@@kemsekov6331 ​ Видел так же интересную вещь) разница (в старых версиях есть) в том что тайпнейм не может брать пареметром шаблон с параметром класс, а класс может взять тайпнейм)) вот ситуация template template template template
@РусланКарнеенко
@РусланКарнеенко Жыл бұрын
Спасибо
@legendarniy5714
@legendarniy5714 5 ай бұрын
41 осталось 163
@jevgenijagorevska
@jevgenijagorevska 4 жыл бұрын
Дай Бог Вам здоровья! Всё предельно ясно объяснено! Спасибо!
@Tarik91011
@Tarik91011 4 жыл бұрын
У меня аж сердце схватило после слов ОБЪЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ.
@STRANEV
@STRANEV 3 жыл бұрын
Если я не ошибаюсь, то "class" ввёл Бьёрн Страуструп, но комитет по стандартизации решил, что это будет приводить к разночтениям и решил добавить еще и "typename". На что Cтрауструп ответил, что он плохо печатает и ему удобнее набирать Class т.к оно короче.
@xagent
@xagent 6 жыл бұрын
на фоне дети орут)))
@VadimGV
@VadimGV 5 жыл бұрын
Да орут так, будто режут там кого-то)
@bogdansleptcov3098
@bogdansleptcov3098 5 жыл бұрын
pascal учат
@misha2993
@misha2993 4 жыл бұрын
@@bogdansleptcov3098 Ахахах
@NoName-mh8gj
@NoName-mh8gj 4 жыл бұрын
@@VadimGV программирование учат
@ggaming7296
@ggaming7296 4 жыл бұрын
А какой комбинацией клавиш красиво ide оформляет строку?
@kebroviore
@kebroviore Жыл бұрын
огнище!! у ифоциган инфаркт
@xrustik4948
@xrustik4948 6 жыл бұрын
Да и впарвду офигенная вешь!
@aska1218
@aska1218 Жыл бұрын
Если использовать Т1 и Т2, и при вызове функции использовать два целочисленных числа, то есть один тип данных, будет ли ругаться программа? Надо будет проверить✅
@sleepyNovember_project
@sleepyNovember_project 7 ай бұрын
Как успехи с C++? =)
@fsagitov753
@fsagitov753 2 жыл бұрын
Здравствуйте, спасибо за уроки. Использую компилятор MinGW и среду VS code. При компиляции выводит следующую ошибку: "отсутствуют экземпляры шаблон функции "Sum", соответствующие списку аргументов -- типы аргументов: (int)" Код идентичный вашему. Это может быть связано с тем, что я использую отличный от вашего компилятор?
@dt_sevatarion
@dt_sevatarion 5 жыл бұрын
Сергей! спасибо за уроки! Все понятно и кратко! без воды и все структурировано! рекомендую скорость просмотра 1.25
@mrslashx
@mrslashx 2 жыл бұрын
Вот есть же на свете хорошие люди...
@ДимаБутылкин-щ7н
@ДимаБутылкин-щ7н 4 жыл бұрын
смотрю из 2020. Сергей, спасибо тебе!
@unrealengineruseng9583
@unrealengineruseng9583 4 жыл бұрын
cout
@ВладиславФедун
@ВладиславФедун 6 жыл бұрын
Спасибо за урок) Однако у Вас Сергей кто-то на заднем плане кричал)
@alexchestnykh6021
@alexchestnykh6021 6 жыл бұрын
Круто было бы еще услышать о decltype. Уроки супер!!! Очень доходчиво.
@thebuckzor688
@thebuckzor688 4 жыл бұрын
Отличный урок 🔥🔥, но внесу небольшую поправку в «совместимость языков». Они совместимы только односторонне - весь функционал C можно использовать в C++, но не наоборот
@ensiferrus9090
@ensiferrus9090 4 жыл бұрын
Это потому, что "надстройкой" С является Objective-C, а С++ - это отдельный язык, вдохновлённый С и другим, менее известным ЯП. На ютубе на эту тему можно найти интервью Штрауструпа, а в интернете - статьи за его же авторством, где он прямо говорит, что писать на С++ как на С - очень плохая идея. Тоже, так сказать, поправочку решил внести.
@worldgood6326
@worldgood6326 3 жыл бұрын
Попробуй создать сайт по учению языка c++. По моему идея классная!!
@poly_sladkiy
@poly_sladkiy 4 жыл бұрын
Что если я хочу использовать Sum(5, 6F); и чтобы он выводил нужный мне тип Я плохо помню, но есть что-то вроде Sum(5, 6F); - но как тогда будет выглядеть шаблонная функция
@RomanZverev-yc5qc
@RomanZverev-yc5qc 3 жыл бұрын
Теперь и мне стало интересно...)
@prizgenaprizgena8193
@prizgenaprizgena8193 3 жыл бұрын
Класс! и Тайпнейм тоже!
@ukrmill
@ukrmill 3 жыл бұрын
++
@PanVladyslav
@PanVladyslav 5 жыл бұрын
спустя некоторое время вернулся, и увидел что не поставил лайк ... ой , не хорошо получилось
@higiro9333
@higiro9333 3 жыл бұрын
А как тогда прототип этой функции записать?
@german4363
@german4363 4 жыл бұрын
слава богу есть такой человек крутой
@TNT_ENTERTAINMENT_inc
@TNT_ENTERTAINMENT_inc Жыл бұрын
Там щас в VS можно использовать тип данных auto. Похоже он может быть использован вместо этого.
@Nito4kin
@Nito4kin 4 жыл бұрын
10/10
@Дмитрий-к2у7щ
@Дмитрий-к2у7щ 5 жыл бұрын
Шаблонные функции должны быть определены до функции main? Или можно определить и после, но при нужно будет создать ее прототип до main? И вообще можно ли создать прототип шаблонной функции?
@BadDanFeeds
@BadDanFeeds 5 жыл бұрын
template void Func(T1, T2); void main() { Func(2, 3.45); } template void Func(T1 a, T2 b) { }
@camradsamka4427
@camradsamka4427 6 жыл бұрын
хорошие уроки, продолжайте, пожалуйста.
@tich34
@tich34 4 жыл бұрын
ахахаха, кто на заднем фоне кричит)))) Лайк автору!
@GLASBE
@GLASBE 4 жыл бұрын
Хорошее видео. Ставлю typename.
@keinagoya3330
@keinagoya3330 9 ай бұрын
Разница между `typename` и `class` есть только в не контекста шаблонных функций, когда недопустимо использование `class`, например в определении шаблонных типов - `typedef typename T::type Type`
@vyacheslav9401
@vyacheslav9401 Жыл бұрын
После TypeScript улыбаюсь)))
@_torphi_
@_torphi_ Жыл бұрын
благодаря вам я наконец-то понял логику рекурсии. Спасибо!!
@АмирАхмедов-ш7н
@АмирАхмедов-ш7н 4 жыл бұрын
Здравствуйте. а как сделать прототип такой функции? Заранее спасибо )
@ГусейнСалахов
@ГусейнСалахов 4 жыл бұрын
Удачи в развитии канала)))
@tirozin
@tirozin Жыл бұрын
Вряд ли прочитают моё сообщение, но я думаю, очень важно было показать, как создать прототип шаблонной функции.
@Sergio-jg4pr
@Sergio-jg4pr 4 жыл бұрын
Почему на 13:00 мы можем передавать одинаковые типы чисел в параметры, если тип значений Т у нас разный?
@alexanderkoroteyev4542
@alexanderkoroteyev4542 3 жыл бұрын
Запись "typename T1, typename T2" говорит о том, что они ДОПУСКАЮТСЯ быть разных типов. То, что в каком-то случае и тот и другой одновременно становятся одного типа - это просто частный случай.
@СергейРохин-и1ш
@СергейРохин-и1ш 3 жыл бұрын
Вынес определение класса в другой модуль, при компоновке получил ошибку. Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: __thiscall Test::Test(int)" (??0?$Test@H@@QAE@H@Z) в функции _main. Тесты Если не выносить в другой модуль или не использовать шаблон, а определить типы явно, то выполняется и компилируется. Какой урок смотреть?
@ivan_kirsanov
@ivan_kirsanov Жыл бұрын
Поставил тип возвращаемого значения auto и все, шаблон работает с любыми типами данных и выводит результат как надо
@Галчонок-в3т
@Галчонок-в3т 4 жыл бұрын
Смысл тогда от перегрузок?
@viacheslavivanskiy8658
@viacheslavivanskiy8658 6 жыл бұрын
Сергей объясните в чем разница между шаблонами функций которые вы показали и структурами, кроме того что шаблоны это изначально неопределенный тип данных а структура это разный тип. Ведь в итоге что шаблоны что структура могут работать с разными типами данных...
@saint8283
@saint8283 6 жыл бұрын
Вопрос, конечно, не мне задан был. Но он меня мягко говоря удивил. Все равно что спросить"какая разница между гвоздем и молотком, кроме того, что у молотка ручка деревянная?". Структура "struct", насколько я знаю (хоть и не пользуюсь) - это аналог класса "class" С++, только она была еще в С. Структуры и классы это шаблоны для объектов, а шаблонная функция - это шаблон для функции. Функции выполняют действия с переменными и объектами классов, ну или структур. В самом классе можно задать методы для работы с объектами этого класса, возможно в структурах тоже, не помню. Метод это своего рода тоже функция встроенная в класс, работающая с объектами этого класса. По аналогии структура или класс это шаблон для шурупа, метод описанный в ней это насадка, а шаблонная функция это универсальный шуруповерт. В этом видео речь идет о функции, заданной шаблоном, которая может работать с объектами любых классов, если в методах этих классов заранее перегружены операции. Т. е. если в классе указано как складывать объекты этого класса то шаблонная функция увидев операцию "+" и определив класс передаваемого в нее объекта вызовет соответствующих метод из класса, и проблем не возникнет. Чтобы было совсем ясно. Int, dooble, char и т. д. - это базовые типы данных. В ООП никто не запрещает при помощи класса создать свой тип данных. Для базовых типов методы уже написаны, сложить Int и Int - "гавно вопрос". Для пользовательских нужно самостоятельно писать метод в классе. Шаблонная функция просто сама определяет тип передаваемых в нее значений и ищет метод в классе, чтобы понять что с этим делать. Т. е. для объектов пользовательского класса операция "a+b" может быть реализована десятками строчек кода, описанного в методе.
@КлимНуралин-у4у
@КлимНуралин-у4у 4 жыл бұрын
тут нет больше дз, это плохо, ничего не усваивается
@Timurka3758
@Timurka3758 5 жыл бұрын
кто там кричит?
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
#шаблоныфункций #SimpleCode #урокипрограммирования
@garp_tv4849
@garp_tv4849 6 жыл бұрын
наоборот class из языка С, а typename новое понятие введенное по моему С++ 14 стандарте
@KI_47
@KI_47 6 жыл бұрын
в чистом Си есть классы?
@ЯЗдесь-ъ5ф
@ЯЗдесь-ъ5ф 6 жыл бұрын
Я читал, что template используют для своих типов данных, таких как struct.Прокомментируй пожалуйста, что бы развеять или подтвердить. Спасибо за все уроки!
@РустамХуаде-у4и
@РустамХуаде-у4и Жыл бұрын
Ставьте лайк если вы тоже были на измене с криков на второй минуте)) Автору спасибо, лучшие уроки по плюсам))
@ВасилийРыбкин-ф6ч
@ВасилийРыбкин-ф6ч 5 жыл бұрын
Cпасибо за курс! Очень хорошо объяснете. Все понятно
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 3,6 МЛН
The Joker wanted to stand at the front, but unexpectedly was beaten up by Officer Rabbit
00:12
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 8 МЛН
Оператор switch в C++
11:01
Оксана Еськова. Основы программирования
Рет қаралды 251
Class Templates | C++ Tutorial
12:48
Portfolio Courses
Рет қаралды 49 М.
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 3,6 МЛН