Возврат нескольких значений функции через ссылки. Как вернуть несколько значений функции. Урок #52

  Рет қаралды 111,600

#SimpleCode

#SimpleCode

7 жыл бұрын

Понравилось видео или оказалось полезным? Подпишись!
Возврат нескольких значений функции через ссылки. Как вернуть несколько значений функции. C++ для начинающих. Урок #52
ДЗ написать ШАБЛОННУЮ функцию которая меняет местами значения 2-х переменных с помощью ССЫЛОК.
Уроки по программированию
Наша группа ВК smplcode
Подписывайтесь на канал / @simplecodeit

Пікірлер: 132
@user-vf9xy5hj3j
@user-vf9xy5hj3j 3 жыл бұрын
Ни разу не оставлял комментарии, но чем дальше тем каждый раз хочется пожать лично этому человеку руку. Спасибо огромное!!!
@Bartiam
@Bartiam 2 жыл бұрын
Сколько себя помню, никогда не любил ДЗ. Но тут какая-то детская радость просыпается, когда есть ДЗ) Шикарные уроки, спасибо вам за всё!
@DeGameBox_SRBT
@DeGameBox_SRBT 2 жыл бұрын
Наш преподаватель нам вообще ничего не объясняет, а вы выручаете всю нашу группу. Спасибо вам от всего сердца!
@user-lx5vv3uu8u
@user-lx5vv3uu8u 4 жыл бұрын
Сергей, спасибо!
@sonyachernishowa549
@sonyachernishowa549 3 жыл бұрын
Спасибо большое! Четко и понятно)
@linart5254
@linart5254 Жыл бұрын
Спасибо за Ваш труд!
@rerurkful
@rerurkful 5 жыл бұрын
ДА! Это очень удобно!!!Спасибо!!!
@Ms001man
@Ms001man 5 жыл бұрын
Спасибо за урок!
@std4042
@std4042 6 жыл бұрын
Спасибо большое, Сергей.)
@smsergey5821
@smsergey5821 5 жыл бұрын
незачто
@AxeL-jh3os
@AxeL-jh3os 4 жыл бұрын
@@smsergey5821 Cпасибо что делаешь такие туторы!
@vladimirdiadichev6140
@vladimirdiadichev6140 7 жыл бұрын
Спасибо, про длл мне очень интересно.
@yulduzbaxramova8902
@yulduzbaxramova8902 4 жыл бұрын
Спасибо Вам большее! Ваша методика преподавания прекрасна. Мне очень нравятся ваше уроки
@user-ic5ws1df8g
@user-ic5ws1df8g 5 жыл бұрын
Спасибо Вам большее! Не устаю оставлять комментарии под каждым просмотренным мною видео. Ваша методика преподавания прекрасна. Очень хотелось бы, чтобы вы создали плейлист по домашним заданиям, разного уровня сложности с разбором. Т. е в одном уроке даете домашнее задание с небольшой подсказкой по реализации, ну если оно конечно будет слишком сложным, а в другой разбор. Ведь программирование очень хорошо закрепляется на практике.
@mar_kha
@mar_kha 2 жыл бұрын
Параллельно с видео SimpleCode, можно закреплять знания по Stepik: Хороший курс - "Введение в программирование С++" от Академии.Яндекса (этот курс, канал Сергея + Тимофея Хирьянова, помогли мне сдать "Программирование" на 5)
@chap_01
@chap_01 3 жыл бұрын
Благодарность Сергею, один из немногих блогеров, кто тщательно разжевывает тему. Я до сего момента не понимал разницы между ссылками и указателями, теперь начинаю прозревать.
@les.please
@les.please Жыл бұрын
большое спасибо за ваши уроки!!
@dimon4ikyt233
@dimon4ikyt233 4 жыл бұрын
Спасибо большое, очень подробно
@Ermine882
@Ermine882 7 жыл бұрын
Спасибо.
@Mex-rd5jh
@Mex-rd5jh 2 жыл бұрын
Спасибо за урок
@erikavardanyan6453
@erikavardanyan6453 4 жыл бұрын
спасибо вам огромное!
@user-wo1dx1rz4z
@user-wo1dx1rz4z 6 жыл бұрын
Cпасибо!
@bama2619
@bama2619 2 жыл бұрын
Спасибо большое, расскажите как-нибудь о себе в отдельном выпуске! Мы должны знать заслуженного IT учителя!
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
#ссылки #указатели #функции #SimpleCode #урокипрограммирования
@63MyLife63
@63MyLife63 3 ай бұрын
а если ссылочный знак стоит в названии функции, то чем она отличается от обычной функции. Помогите плз)
@polmesh2057
@polmesh2057 Жыл бұрын
Спасибо 🙏
@user-zs8hi4rp9h
@user-zs8hi4rp9h 4 жыл бұрын
Спасибо!
@user-ji7it9xd7x
@user-ji7it9xd7x 3 жыл бұрын
Как Сергей замечательно выдает домашнее задание! Он буквально запускает в голову множество переменных, чтобы память даже самого нерадивого вынесла на оперативный простор хранящийся в куче данных string thought = "temp... Без откровенных подсказок:)
@sweeqty
@sweeqty 9 ай бұрын
Спасибо, никто лучше тебя не объяснит
@romastyle7823
@romastyle7823 2 жыл бұрын
Спасибо
@user-kb6qd8rg4g
@user-kb6qd8rg4g 4 жыл бұрын
спасибо
@alexeymi2618
@alexeymi2618 5 жыл бұрын
Спасебчики
@user-bb1nk1po5e
@user-bb1nk1po5e Жыл бұрын
привет из 2023. Спасибо большое за уроки!
@sewsdfd1049
@sewsdfd1049 5 жыл бұрын
из 320 тысяч сюда дошли только 17265(((
@BrownAleks
@BrownAleks 4 жыл бұрын
Ни чего с этим не поделаешь. Не все способны переварить мозгом С++ Даже если его так подробно разжевать, как это делает Сергей. )) на сегодняшний день 20714.... подтягиваются.))
@user-il8yc9xp3k
@user-il8yc9xp3k 4 жыл бұрын
Дошли... и потихоньку двигаемся дальше! ))
@TheWladberlin
@TheWladberlin 4 жыл бұрын
:))))))))))) остаются самые настойчивые, хотят детектив до конца досмотреть
@oskar8785
@oskar8785 4 жыл бұрын
@@TheWladberlin Мне кажется убийца будет Асемблер, что-то подсказывает.
@TheWladberlin
@TheWladberlin 4 жыл бұрын
@@oskar8785 Я сейчас в поисках работы, и что удивительно, довольно таки, время от времени, спрашивают знаю ли я ассемблер. Но еще чаще спрашивают про знания FPGA. Хотя никак понять не могу какое отношение он имеет к С/С++
@sgimancs
@sgimancs 5 жыл бұрын
Почти во всех языках передаются параметры в функцию по значению (через стек). Вероятно С/С++ поcле компляции более "шустрый" с учетом указателей и ссылок. Но этот подход не совсем привычен для новичков.
@munutd9857
@munutd9857 2 жыл бұрын
👍👍👍
@user-ye7vc6ug1l
@user-ye7vc6ug1l 5 жыл бұрын
Спсб
@Guitar8202
@Guitar8202 Жыл бұрын
Отличные уроки, Спасибо автору за проделанную работу. От себя хочется добавить, методы которые не возвращают значений, это процедуры, ваш метод не возвращает никаких значений, а изменяет их в теле процедуры, думаю что такие формулировки немного вводят в заблуждение новичков.
@chelovechek7773
@chelovechek7773 2 ай бұрын
😎
@user-il8yc9xp3k
@user-il8yc9xp3k 4 жыл бұрын
Пока с шаблонами не очень разобрался, хотя урок смотрел. Отложу временно д. з., вернусь к нему позже.
@TheWladberlin
@TheWladberlin 4 жыл бұрын
Я тоже! Что-то слишком там все просто - это и подозрительно :)
@user-qm4zk9tn4m
@user-qm4zk9tn4m 4 жыл бұрын
Сергей, благодарю Вас за Ваши труды! Пол года учусь языку и частенько закрепляю знания на Вашем канале) Вопрос только один: Так почему же Foo, а не Func))))у всех видео с подпрограммами присутствует Foo))
@priest_2152
@priest_2152 3 жыл бұрын
Foo, Bar, FooBar это такие "стереотипные" имена для переменных, функций и подобного которые не будут использоваться в реальных проектах но для примера самое то.
@dimon4ikyt233
@dimon4ikyt233 4 жыл бұрын
1:43 у меня случается приступ каждый раз когда вы ставите курсор вверх мышкой для того чтобы нажать ENTER!
@NaxelNaxel
@NaxelNaxel 4 жыл бұрын
А как стоит делать?
@user-hr5vs2rt3v
@user-hr5vs2rt3v 3 жыл бұрын
6:41, так ссылка же тоже принимает адрес, который ей укажут, как это без оператора передачи адреса? В функции же надо писать переменные с &, т.е. func (int &a).
@arsunchik
@arsunchik Жыл бұрын
Ну вот так вот, этим ссылка и отличается от указателя
@QWANT18
@QWANT18 6 жыл бұрын
Я опять о своем :)) #include using namespace std; template T foo(T &a, T &b, T c, T d) { a = d; b = c; return 0; } int main() { int a = 5; int b = 6; foo(a, b, a, b); cout
@nlkstressout1872
@nlkstressout1872 7 жыл бұрын
Привет, спасибо за урок в будующем научишь нас писать dll?
@SimpleCodeIT
@SimpleCodeIT 7 жыл бұрын
Пожалуйста! Вы уже практически их пишите, всё дело в том как создать и скомпилировать проект. Когда достаточно продвинемся сделаю такой урок.
@nlkstressout1872
@nlkstressout1872 7 жыл бұрын
жду с нетерпением
@TheWladberlin
@TheWladberlin 4 жыл бұрын
@@SimpleCodeIT класс! ждемс
@user-cb8ws8qx4f
@user-cb8ws8qx4f 3 ай бұрын
Хм... Куда люди бегут? Самая жесть ещё не началась! Ведь если вы сталкиватесь с чем-то сложным это ведь интересно!
@user-yb6um2kh1q
@user-yb6um2kh1q 3 ай бұрын
+ я уже до ооп дошёл, но решил повторить ссылки,указатели, так как там дальше прям самое "вкусное".
@pubgr862
@pubgr862 5 жыл бұрын
А есть ли реализация для самостоятельного определения типа данных? Чтоб программа просто спрашивала только ввести данные не важно какие, или такой манёвр только через строковый тип ?
@anatolyvatson2542
@anatolyvatson2542 Жыл бұрын
Не тем путем идите товарищи
@Sooderone
@Sooderone 24 күн бұрын
🧠
@Viamsupervadetvadens
@Viamsupervadetvadens 6 жыл бұрын
up
@konstantinpyshnoy1502
@konstantinpyshnoy1502 4 жыл бұрын
template T Sum(T &a, T &b) { int a1 = a; int b1 = b; b = a1; a = b1; return 0; }
@MoonLi8th
@MoonLi8th 2 жыл бұрын
template void swap(T1 &a, T1 &b) { T1 c = a; a = b; b = c; }
@michaelivanov1605
@michaelivanov1605 4 жыл бұрын
Вот как я сделал дз: там можно подставить и дробные числа, для примера я использовал целочисленные. #include using namespace std; template void Foo(T1& aref, T2& bref) { auto temp = bref; bref = aref; aref = temp; cout
@olexangrstetsiuk3092
@olexangrstetsiuk3092 4 жыл бұрын
МОЛОДЕЦ !!! Как хорошо ты все запомнил ! Или еще и конспектируешь?
@michaelivanov1605
@michaelivanov1605 4 жыл бұрын
@@olexangrstetsiuk3092 да конспектирую
@yellowmoonishka1725
@yellowmoonishka1725 Жыл бұрын
Ths
@47syorha52
@47syorha52 4 жыл бұрын
Ну почему нельзя использовать те же типы данных, что есть в ассемблере?
@mishyka1980
@mishyka1980 4 жыл бұрын
Завис только от перечисленных терминах при задании домашнего задания.. Не знаю что мной до сих пор движет, смотрю и не верю что смогу осилить. Мне кажется у меня всего две извилины и то прямые, особенно когда доходит до домашних заданий.
@arsunchik
@arsunchik Жыл бұрын
Так посмотри предыдущие ролики
@artemartem3375
@artemartem3375 6 жыл бұрын
Как узнать адрес ссылки
@Ludmila722
@Ludmila722 3 жыл бұрын
Спасибо! Замечательный урок! Слушаешь кажется, все понимаешь. Неделю бьюсь над заданием, не получается. int inc (int &x) { x++; return x + 1; } void main() { int x,y,z; x = 5; y = inc(x); z = inc(x); z = inc(z); } На мой взгляд это передача параметров по ссылке, но компилятор не пропускает, не могу вывести ответы. Дает ошибку rror LNK2019: ссылка на неразрешенный внешний символ _main в функции "int __cdecl invoke_main(void)"
@ainurkhairullin6723
@ainurkhairullin6723 Жыл бұрын
Возможно это из-за того, что в функции inc вы передаете как параметр ссылку, а ссылки всегда должны быть инициализированы. Так вот, переменной х вы присвоили значение, а y и z нет, в них у вас хранится мусор, т.е. то, что было в памяти на этом месте до этого, после чего передали их на вход функции. Попробуйте задать начальные значения. И я не спец, но вы создали переменную y без присвоения ей значения, а потом написали что y = inc(y), то бишь использовали y, в значении которого мусор.
@ainurkhairullin6723
@ainurkhairullin6723 Жыл бұрын
Хотя странно, у вас должно и с мусором все отработать и вывести мусор
@siandroid3216
@siandroid3216 Жыл бұрын
Мне кажется, что Вы не до конца поняли логику работы ссылок и указателей и дублируете классический подход с return работой с переменной через ссылку. Этого не нужно делать. Или результат функции вы возвращаете через return или работаете с объектом через его указатель или ссылку, но тогда возвращать ничего не нужно, исходная переменная изменит своё значение. Попробуйте так: void inc (int &x) { x++; } void main() { int x,y,z; x = 5; inc(x); y = x z = y; inc(z); z = x; } Надеюсь всё понятно без доп комментариев.
@user-tp6pi6hz7i
@user-tp6pi6hz7i 2 жыл бұрын
А можна код back домашнего задания. Я сделал , но сомневаюсь что он правильный
@user-jj9pm4zz2p
@user-jj9pm4zz2p 6 жыл бұрын
работает со всеми типами данных #include #include #include using namespace std; template void heh(x1 &a, x1 &b) { x1 c = a; a = b; b = c; } int main() { int a,b; //char a,b; //double a, b; cin >> a >> b; cout
@user-rd1hb8uf9b
@user-rd1hb8uf9b 7 жыл бұрын
// Arduino Поменять местами значение двух переменных, любых типов данных: // int a = 11111, b = 22222; // float a = 111.11, b = 222.22; char a = 'a', b = 'b'; void setup() { Serial.begin(57600); foo(a, b); Serial.println(a); Serial.println(b); } template < typename T1, typename T2 >void foo(T1 &a, T2 &b) { auto i = b; b = a; a = i; } void loop() {} //
@user-rd1hb8uf9b
@user-rd1hb8uf9b 7 жыл бұрын
// Arduino Поменять местами значение двух переменных, любых типов данных: // auto a = 1; auto b = 2; // auto a = 111.11; auto b = 222.22; // auto a = 'a'; auto b = 'b'; auto a = "aaaaaaaaaaaaaaaa"; auto b = "bbbbbbbbbbbbbbbb"; void foo(auto &a, auto &b) { auto i = a; a = b; b = i; } void setup() { Serial.begin(57600); Serial.println(a); Serial.println(b); foo(a, b); Serial.println(a); Serial.println(b); } void loop() {} //
@w1nsent
@w1nsent 3 жыл бұрын
Не понял синтаксиса написания логики в теле функции... a=10; - Это понятно b*=2 Почему умножение перед знаком равно? с-=100 Почему знак минус перед знаком равно?
@SimpleCodeIT
@SimpleCodeIT 3 жыл бұрын
если смотреть курс с начала таких вопросов не будет, это тема одного из первых уроков
@w1nsent
@w1nsent 3 жыл бұрын
@@SimpleCodeIT Ну, значит вылетело из моей дырявой башки. Не помню такого момента. Нужно пресмотреть по новой.
@chevstyle
@chevstyle 3 жыл бұрын
@@w1nsent b=b*2 , c = c - 100.
@anatolyvatson2542
@anatolyvatson2542 Жыл бұрын
Второе квадрат
@MrWolfeBlade
@MrWolfeBlade 4 жыл бұрын
ааааа где урок про шаблоны? я как то пропустил. плэйлист полистал у меня все просмотрено.
@olexangrstetsiuk3092
@olexangrstetsiuk3092 4 жыл бұрын
Точно упоминались парочку уроков назад.
@awinner7778
@awinner7778 4 жыл бұрын
Вашы видео иногда лучше учебника.
@UN1T3Dify
@UN1T3Dify 5 жыл бұрын
#include using namespace std; template void Swap(numbX &refX, numbY &refY) { auto temp = refX; refX = refY; refY = temp; } int main() { //int a, b; double a, b; //char a, b; cout a; cout b; cout
@siandroid3216
@siandroid3216 Жыл бұрын
Браво!
@user-rq6rx5cp7i
@user-rq6rx5cp7i Жыл бұрын
Мда... Прикольная штука - ссылки. В JavaScript такое только через объект можно сделать.
@ruslanmammadov326
@ruslanmammadov326 6 жыл бұрын
#include using namespace std; template void my_swap(T &a, T &b) { T tmp = a; a = b; b = tmp; } void main() { setlocale(LC_ALL, "ru"); char val1, val2; cout > val1; cout > val2; my_swap(val1, val2); cout
@47syorha52
@47syorha52 4 жыл бұрын
Долбанная статичная типизация. Хотел я сделать программу, где пользователь сможет ввести два значения, а программа их поменяет местами, но статичная типизация.
@47syorha52
@47syorha52 4 жыл бұрын
Сейчас я сделал ДЗ, где ввод пользователя записывается в переменные типа string, для этого вначале программы нужно написать #include
@sergomanergo4762
@sergomanergo4762 4 жыл бұрын
зачем ставить & перед параметрами функции foo? ведь если бы его не было, был бы тот же результат...
@TheWladberlin
@TheWladberlin 4 жыл бұрын
Не понимаю, 20 тысяч просмотров и только 1,5 тыс лайков - что так трудно, в качестве хотя бы спасибо, тыкнуть мышкой ???!!!
@By_B0SS
@By_B0SS Жыл бұрын
template void obmen(I &a, S &b) { I obm = a; a = b; b = obm; } int main() { setlocale(LC_ALL, "Russian"); int menu; cout menu; if (menu == 1) { cout
@gagikarakelyan6014
@gagikarakelyan6014 4 жыл бұрын
Спасибо!
@str_0xdc656
@str_0xdc656 4 жыл бұрын
Спасибо
@StarLiNe-ji5nf
@StarLiNe-ji5nf 2 жыл бұрын
Спасибо!
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 113 МЛН
LOVE LETTER - POPPY PLAYTIME CHAPTER 3 | GH'S ANIMATION
00:15
WHO DO I LOVE MOST?
00:22
dednahype
Рет қаралды 79 МЛН
Всё об указателях в C++ за 20 минут
20:00