References in C++ Explained

  Рет қаралды 105,040

Caleb Curry

Caleb Curry

Күн бұрын

Пікірлер: 164
@codebreakthrough
@codebreakthrough Жыл бұрын
Check out the hands on guide - kzbin.info/www/bejne/fYeolH93jZyinc0 Get notified of my upcoming C/C++ Courses - www.codebreakthrough.com/upcoming-c-cpp-courses
@valkyrja7280
@valkyrja7280 4 жыл бұрын
*sees an asterisk in code* My brain “OHHH HEEELLLLLLL NOOOOOO”
@Italy-rj2eb
@Italy-rj2eb 3 жыл бұрын
@Messiah Atticus Hehe nice scam
@capitão_paçoca
@capitão_paçoca 3 жыл бұрын
You described my last week so well.
@ethangold4900
@ethangold4900 3 жыл бұрын
I've been like this since C I'm here to stop my confusion about pointers
@AbhishekBM
@AbhishekBM 3 жыл бұрын
I can hear your comment
@fightingwriter25
@fightingwriter25 4 жыл бұрын
The fact that this guy is currently carving our way for our future just for us is priceless
@du4lstrik3
@du4lstrik3 Жыл бұрын
If this was your future, YOU would carve it for yourself.
@raviel_0422
@raviel_0422 4 жыл бұрын
Thanks Caleb, I've been following your C++ Tutorial way back 2019 because you are a great teacher, you saved me a lot.
@rohanarya5400
@rohanarya5400 4 жыл бұрын
I've been looking for a follow up to his C++ course. Any suggestions?
@siddharthraghuveeremadaboi2901
@siddharthraghuveeremadaboi2901 4 жыл бұрын
@@rohanarya5400 get working on eulerprojects Github and Codeforces. You could get a reading on the book 'code'.
@MrMcgrizz
@MrMcgrizz 8 ай бұрын
Thanks for the great explanation! I am new to C++ and needed to understand this, and also the part after 13:00 was very informative and useful!
@llllllllll5119
@llllllllll5119 2 жыл бұрын
I've been struggling for weeks trying to understand this and pointers and you literally got it to click in 15mins. You're amazing, subscribed.
@wendyargyle2333
@wendyargyle2333 Жыл бұрын
This is the first time any C++ concepts really started to "click". Bro, keep up the good work! Thank you for your help!
@tsupi7056
@tsupi7056 4 жыл бұрын
Commenting for Yt algorithm
@deivid-01
@deivid-01 3 ай бұрын
Every time I have a technical interview, I watch this video again. But this time was different. Something clicked in my mind 🤯 Thanks, Caleb! I've followed you since you started the channel, and I've learned so much from you. Thanks a lot, man!
@nilupulperera
@nilupulperera 4 жыл бұрын
Wow, Caleb! Thank you so much for starting this series. I am in the middle of your first series of C++. That series is really awesome. I like your teaching style. You are a great teacher. I found you concluded the previous series a little short. I am delighted to see this intermediate series is started. Kindly continue this series. Your series is really helpful.
@okkami676
@okkami676 4 жыл бұрын
QUESTION: 7:58 to 8:04....doesn't "int &x" at the function refer to the 'address' of 'a' rather than the 'value ' of a ( ie '5')? That is, when we call the function, aren't we passing in the "address of a" rather than the "value of a"?
@masheroz
@masheroz 3 жыл бұрын
How I think of it working is: when you call work(a), internally the program is saying int & x = a; and then doing the things on x. I need to retrain my brain on how the function arguments work from my Java days, but the 'int' is always correct, and says that the function expects an integer. If it is 'int & x', it will get a reference to an integer, and if it is 'int * x' it will get a pointer to an integer.
@skypuff
@skypuff 4 жыл бұрын
Did you play the clip? 😂😂 Man I love his vids. You can't be bored to death.
@cruellnat
@cruellnat 4 жыл бұрын
Because it is very simple... which is why we need to talk about it. 😂
@mordicai4296
@mordicai4296 3 жыл бұрын
Thank you Caleb! I'm in a C++ bootcamp and your channel has taken me from failing to an A!
@AKTSR444
@AKTSR444 3 жыл бұрын
this is great. Now I got it. My prof sucks. He mixed pointer and ref and totally confused us.
@RakeshSharma-p2o
@RakeshSharma-p2o 4 ай бұрын
You're truly the best coolest teacher i have ever seen in my life
@AK-vx4dy
@AK-vx4dy 4 ай бұрын
I didn't expect that C++ lesson on blackboard can be so good, excellent job
@magicdragon9621
@magicdragon9621 3 жыл бұрын
Wish I found this video sooner. After 4 hours of trying to understand this concept I finally get it haha. Thanks!
@Diamond_Hanz
@Diamond_Hanz 4 жыл бұрын
Crazy. I was reviewing this earlier! Keep it up!
@skypuff
@skypuff 4 жыл бұрын
This was a wonderful video. I'll be patiently waiting for more.
@nicholasmaniccia1005
@nicholasmaniccia1005 Жыл бұрын
Nice, idk if you explained it really well or if after playing with references and coming back to an explanation was the final thing to make me understand this concept, but I feel like I finally get it.
@ChadTower
@ChadTower 2 жыл бұрын
Love this video, he really does explain it far better than the course material in the 300 level undergrad course I'm currently taking. Also... LEEEEEEEEROYY JENNNNNNNNKINS
@TomtheMagician21
@TomtheMagician21 2 жыл бұрын
At 13:30, what if you did like &b = &c? Would that work or can you only assign b directly and not it's address?
@silentcal275
@silentcal275 8 ай бұрын
Thanks for this. POinters feels like a game of inception in my head. Especially when it comes to pointers to pointers
@THATREISGUY14
@THATREISGUY14 10 ай бұрын
Love your teaching method and your comedy sprinkled throughout! Thanks man!
@Zimbob2424
@Zimbob2424 4 күн бұрын
Just finished the beginner series and didn't this you did more, glad I searched.
@griffontheorist6975
@griffontheorist6975 2 ай бұрын
I was struggling for way too long why "int& myVar" and "int &myVar" popped up inconstantly. Thank you so much for pointing this out
@Basedmarv
@Basedmarv 3 жыл бұрын
10:35 troll joke made me chuckle out loud, great video!
@azrflourish9032
@azrflourish9032 3 жыл бұрын
the way you teach is very effective and easy to understand. Thank you!
@jacobpickos733
@jacobpickos733 2 жыл бұрын
Bro. You're a beast. This is just what I was looking for.
@ShayanShahmohammadi-l3s
@ShayanShahmohammadi-l3s Ай бұрын
Thanks a lot❤ Finally, I figured out what references are in cpp.
@ebrar2536
@ebrar2536 Ай бұрын
for the first time ever i actually understood the references
@anon343
@anon343 3 жыл бұрын
Thank you for explaining the memory efficiency of references, I like to know why code is "best practise"
@mykalesalad
@mykalesalad 3 жыл бұрын
This was incredibly helpful, thank you for the detailed explanations!
@shashanksharma21
@shashanksharma21 3 жыл бұрын
this is awesome! thank you so much for creating these illuminating lectures !
@Ab-zq2ye
@Ab-zq2ye 4 жыл бұрын
Young and Intelligent Your the best teacher Caleb. From Ethiopia
@heshansandeepa6387
@heshansandeepa6387 3 жыл бұрын
This can't be explained better than this. Top notch
@lucasmuller7179
@lucasmuller7179 2 жыл бұрын
"But no... you just got trolled" I almost spit my coffee
@-kindredeternalhunter9907
@-kindredeternalhunter9907 3 жыл бұрын
12:05, I still don't get it, what if i just write "void swap (x,y)" in the first line ? btw, ur vid is just so clear, i can understand most of it quite ezly, i just dont get the idea of benefit when using it and the question above, why should i assign reference to a var when i can just call it directly ? Thank you :))
@jennims2885
@jennims2885 3 жыл бұрын
Hi, I may not be the best person to answer but I'm gonna try... So, if x and y are global variables then you can easily do that, but if the function is separated from the variables and they are not global then you need to pass them through parameters, that's where the references come handy because you can actually change the variable itself and not just make a copy when you call the function. Hope this helps
@-kindredeternalhunter9907
@-kindredeternalhunter9907 3 жыл бұрын
@@jennims2885 so ur idea is if i pass (int &x) what happen inside the func will change x actually, and if i pass (int x) , func will only use x for calculate and after the func is called, x return to its before func calling value ?
@jennims2885
@jennims2885 3 жыл бұрын
@@-kindredeternalhunter9907 yes, the function just makes a copy of the variable to use it inside the function, it will not change the variable itself; once the function ends, the copy gets erased. So for example, if you want to make a void function that can't return anything you will not be able to change the variable itself, the only way to do so is by using references.
@-kindredeternalhunter9907
@-kindredeternalhunter9907 3 жыл бұрын
@@jennims2885 finally i got it, thank you !!
@jennims2885
@jennims2885 3 жыл бұрын
@@-kindredeternalhunter9907 Glad I could help ^-^
@marcellodelfiore1361
@marcellodelfiore1361 Жыл бұрын
this video is actually fantastic, thank you so much, i appreciate your work, keep it up and good luck with everything :D
@pacocarrion7869
@pacocarrion7869 9 ай бұрын
Few basic examples to remember: void work (x){return x;} // No reference void work (&x){return x;} // Argument reference void& work (x){return x;} // Function reference void& work (&x){return x;} // Argument + Function reference int& a=b; reference variable to variables int&& ref=work(x); reference from function (without reference) to variable int& ref=work(x); reference from function (with reference) to variable
@christianalvarado528
@christianalvarado528 Жыл бұрын
4:28 I actually thought all this time that this were 3 completely different things. And it's just a variation in writing.
@isaacchen3857
@isaacchen3857 4 жыл бұрын
"Maybe that's a bit more depth than you need for this introductory video" Nope. Not for me, at least. That last detail you went over was super helpful. Thank you for the great video!
@monkeyrobotsinc.9875
@monkeyrobotsinc.9875 Жыл бұрын
You are a great instructor.
@akarcel
@akarcel 4 жыл бұрын
Best caleb in the world 👍❤️
@harismasoom6634
@harismasoom6634 3 жыл бұрын
i am in love with your teaching style.
@Ajcmaster
@Ajcmaster 3 жыл бұрын
Great explanation Caleb! Awesome. Way to go!
@jakubdzwigacz4563
@jakubdzwigacz4563 2 жыл бұрын
so far the best explonation i could find
@alpaca543
@alpaca543 6 ай бұрын
You're literally the best, thank you so much!
@SebleBeyene-jp8hp
@SebleBeyene-jp8hp 9 ай бұрын
I hate this dude when i was noob but still want to see this dude
@AshShawwa
@AshShawwa Жыл бұрын
After watching this video I have two things to say: 1 - thank you, your explanation is heaven sent and 2 - after your Leeroy Jenkins comment, I gotta ask. You play WoW, because if you do were gaming 😂
@mellow_frequencies
@mellow_frequencies 2 жыл бұрын
You make learning this like 10 times more fun, i apprecieate it!
@gremjo8409
@gremjo8409 3 жыл бұрын
Great video! Exactly the explanation I was searching for
@StopRemindingMeOfThoseDays
@StopRemindingMeOfThoseDays 3 жыл бұрын
So basically a reference is like a desktop shortcut for an exe application.
@arkapravaghosh4594
@arkapravaghosh4594 4 жыл бұрын
This was such a great video all sorts of confusion got cleared so well. Thanks brother.
@navaerick86
@navaerick86 2 жыл бұрын
you explain things the best ive seen. thanks
@smrtfasizmu6161
@smrtfasizmu6161 3 жыл бұрын
I got problems but I had problems with understanding reference. It seems to me like reference is sometimes treated as a memory address but then you can also treat them as normal variables. When it comes to pointers it is clear when that you always have a memory adress and if you want to see what is on that memory address, or change what is on that memory address, you deference the pointer by putting a * in front of the pointer. These references are a little bit confusing because they sometimes act as pointers and they sometimes act as normal variables. I don't see why I can't just replace references with pointers. For instance the function swap would go like this. void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } Also, when you use pointers as arguments of a function you know you are passing memory addresses to the function so you expect that the function might change the variables whose addresses you are passing. I find pointers more clear and understandable than references.
@iutubgugal5566
@iutubgugal5566 3 жыл бұрын
Thank you! This was well detailed and clear.
@ARANDOMOPENAIUSER
@ARANDOMOPENAIUSER Жыл бұрын
1:41 9:40
@SKMINSARR
@SKMINSARR 3 жыл бұрын
I like the technique of your teaching. Really it's a great tutorial man
@aberateklehaimanot9804
@aberateklehaimanot9804 4 жыл бұрын
Thanks Caleb.you are an amazing teacher.
@dylanjackson7325
@dylanjackson7325 Жыл бұрын
concise and clear. thanks dude
@marcusantenor793
@marcusantenor793 Жыл бұрын
there is no love it button, so i will type. Love it, thanks a lot.
@Captain_Rhodes
@Captain_Rhodes 3 жыл бұрын
Nice video. I like how you dont write any code on a computer. makes it better
@jason27kboy
@jason27kboy 4 жыл бұрын
Just finished the last series and I really hope this is the start of part 2
@karimmuhammad7051
@karimmuhammad7051 2 жыл бұрын
this is mean, reference is not a new variable refer to specific place in memory? it is the variable which it refer to??!! so this is not add on size of memory one place! right?
@ddimwhite4638
@ddimwhite4638 4 жыл бұрын
Bravo! Thank you.
@erfanelmtalab3426
@erfanelmtalab3426 4 жыл бұрын
I love the way that you write & diffrent in every time😂😂
@thatgirl7650
@thatgirl7650 2 жыл бұрын
Thank you so much ✨
@jpenneymrcoin6851
@jpenneymrcoin6851 2 жыл бұрын
hey beginners - if you want a simple explanation, here it is. when you name a variable, the compiler makes a table with that variable name in one column and a number in another column. the number is what you get when you use a reference. the number is an address in whatever memory space is in use - you don't have to worry about that, the linker handles physical placement. once you have the number stored, you can write to or read from memory. now, slightly more complex is that you can also do pointer math and move around in memory on your own, reading and writing things that may not have a variable name associated with them. So you can say "go to the spot where variable a is, then advance 2 bytes in memory and write a 3 there" that allows you kind of direct access to the memory space. there you go - 15 minutes saved for those of you who don't need so much hand holding.
@draqaah
@draqaah 2 жыл бұрын
He what did he type looks 8 or & idk what he type
@higiniofuentes2551
@higiniofuentes2551 Жыл бұрын
Thank you for this very useful video!
@jeyosman1
@jeyosman1 2 жыл бұрын
how can we use pointer to reference like this (int *& a)
@TomtheMagician21
@TomtheMagician21 2 жыл бұрын
This is a great video and I understand references and pointers now (from your other video). However, I could change the variables that were passed in as parameters even without references. For example (in C++ still because I've been learning for 2 days so far lol): void Swap(int x, int y) { int temp = x x = y y = temp } And that works fine so 🤷
@flyingspaghettimonster8612
@flyingspaghettimonster8612 2 жыл бұрын
its not the same as he said in this case x and y would be a copy of the values you passed, the variables outside the fuction will still be the same even if you change the values in x and y
@TomtheMagician21
@TomtheMagician21 2 жыл бұрын
@@flyingspaghettimonster8612 Oh ok thank you, would I need to create a reference inside the function then and then change the value of that reference? That's pretty cool
@AFourEyedGeek
@AFourEyedGeek 2 жыл бұрын
Nice! Thank you for this.
@ECEPAZHANIMURUGANSIVAP
@ECEPAZHANIMURUGANSIVAP Жыл бұрын
your r great... such a simple and clear explantion /////
@DonaldMurf
@DonaldMurf 4 жыл бұрын
Thanks man. You helped me a lot.
@NikhilSharma-jj6bx
@NikhilSharma-jj6bx 3 жыл бұрын
Dude you are on fire today.
@ddkan_9982
@ddkan_9982 2 жыл бұрын
just perfect ! thank you!!
@Meridian-lk2fo
@Meridian-lk2fo 2 жыл бұрын
Very well explained!
@audiodiwhy2195
@audiodiwhy2195 10 ай бұрын
Good tutorial. Thanks.
@tomitomi7941
@tomitomi7941 Жыл бұрын
Great video, thank you man
@msingizanengwenya6707
@msingizanengwenya6707 3 жыл бұрын
IS THE USE OF "&" SAME AS WHEN YOU USE IT I EXCEL?
@xcalimburdeveloper3929
@xcalimburdeveloper3929 4 жыл бұрын
Wait, is this C++ series part 2
@lexuthelexer1212
@lexuthelexer1212 4 жыл бұрын
kinda
@xcalimburdeveloper3929
@xcalimburdeveloper3929 4 жыл бұрын
@@lexuthelexer1212 ok thanks
@keshavjha2641
@keshavjha2641 4 жыл бұрын
Hey can you make something on typescript
@mohamedeljabri4970
@mohamedeljabri4970 2 жыл бұрын
Frankly it is very difficult to give my comments to anybody but you deserved highly top and your flag is great I am still can't find thanking words for long time being misunderstood.
@7s9n
@7s9n 4 жыл бұрын
Thanks caleb 💛
@juniorlucival
@juniorlucival 10 ай бұрын
A reference (ref) does not occupy memory space, cannot be null, and cannot be modified. Attention!!!
@qtprogramming
@qtprogramming 5 ай бұрын
you make it sound easy
@krup9898
@krup9898 10 ай бұрын
Thank you very much. God bless!!!
@hamdansiddiqui3294
@hamdansiddiqui3294 8 ай бұрын
exactly what i looking for!
@Mohamed-Maghrebi
@Mohamed-Maghrebi Жыл бұрын
Thank you well explained
@petarvico1757
@petarvico1757 3 жыл бұрын
Great video!!!
@skypuff
@skypuff 4 жыл бұрын
This is FUN-THEN-MENTAL (fudamental)
@sabahoudini
@sabahoudini 4 жыл бұрын
Is there a playlist for these videos so I can watch them in order?
@hasandarwish6361
@hasandarwish6361 4 жыл бұрын
you can just enter to the channel and then go to playlists, so you can find it as a playlist of arranged videos
@sadatshahriar2090
@sadatshahriar2090 4 жыл бұрын
This is awesome !
@Phoez12
@Phoez12 2 жыл бұрын
Dude you own.
@ayushwagh2743
@ayushwagh2743 Жыл бұрын
I wish i Saw this video at the beginning of the semester😭
@OpheliaSHolmes
@OpheliaSHolmes 3 жыл бұрын
Thanks for the tips
@pierfrancescopeperoni
@pierfrancescopeperoni 3 жыл бұрын
Where is Embarcadero? : (
@marvet9573
@marvet9573 2 жыл бұрын
Yeah bro, if I make any serious amount of success, you're getting a fat check. You deserve my money more than my university does.
Working with References in C++
9:14
Caleb Curry
Рет қаралды 24 М.
C++ Pointers - Finally Understand Pointers
15:56
Caleb Curry
Рет қаралды 221 М.
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
31 nooby C++ habits you need to ditch
16:18
mCoding
Рет қаралды 850 М.
C++ Pass by Value, Reference, Pointer Explained
9:33
Caleb Curry
Рет қаралды 46 М.
Weak Pointers in C++ (std::weak_ptr)
17:25
The Cherno
Рет қаралды 62 М.
you will never ask about pointers again after watching this video
8:03
Smart Pointers in C++ (Stop Using new?)
17:18
Caleb Curry
Рет қаралды 14 М.
What are header files in C++ ( PROGRAMMING TUTORIAL for beginners)
23:54
What is the Difference Between a Pointer and a Reference C++
7:58
Paul Programming
Рет қаралды 444 М.
how Google writes gorgeous C++
7:40
Low Level
Рет қаралды 985 М.
Python laid waste to my C++!
17:18
Sheafification of G
Рет қаралды 190 М.
REFERENCES in C++
10:13
The Cherno
Рет қаралды 595 М.
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19