@@masasikisimoto26 Bucky covers a lot and does it quick, but he doesn't go to the same depth that Cherno does when describing concepts. Speed isn't always better, and Cherno ensures to cover a lot of important concepts that Bucky doesn't necessarily get to in an appropriate manner. That being said I enjoy both of their videos.
That incrementing integer through memory addresses part is what really blew my bloody mind. Lower level languages never cease to surprise me. Coming from python, I feel like I'm capable of black magic now.
@@DragonKidPlaysMC Rust isn't taking over anything, definitely not C++. You don't realize what you're saying. Apart from some more narrow use cases, C++ will reign supreme for a long time.
@@hmthatsniceiguess2828 Almost the entirety of Firefox is written in Rust. Chromium has started including Rust in it. Hell, even the Linux kernel, which shunned C++ from its codebase, is going to start using Rust in it. C++ is fun to write and experiment in, Rust is not. It's a bit locked down. Rust is fun to write a serious application, when memory leaks become a serious issue and GC isn't an option and smart pointers are too much of a runtime overhead for you liking.
that 3 types of input is amazing! basically included everything you need to know to take advantage of pointer reference and a single variable. Amazing vid!
Thank you Cherno for your high quality videos. I don't normally do projects in C++ but I needed to create a plugin for a program that is written in C++ and your videos made this a breeze.
Man, you're really awesome. I have seen many many tutorials in many topics before, but I have never seen such high quality nor someone who has such knowledge or clear way to explain things like you. I am really a big fan of yours.
Seeing this video after the pointer video actually also made pointers way clearer to me as well once you started comparing their functionality at the end of the video. Amazing stuff.
The most articulate videos regarding computer programming that I have ever watched! I know this is a very "old" video at this point and, perhaps, there are better ones to comment on but there are clearly still people benefiting spectacularly from this series. I guess you're still the best of the best!!
I just recently discovered your channel and I must say I agree wholeheartedly with a lot of the other viewers who say that this is the best C++ resource on RUclips! Thanks so much for the fantastic content! Your channel has been invaluable in my quest to learn C++!
You really know how to explain things with precision. Not everyone has the ability to do that. This series is amazing and I hope you keep updating it cuz it`s really needed.
Watching some of your videos as a total beginner in C++ and coding in general I'm like "Oh, now I get it" in the first half to "What the..." towards the end of the video. Great work by the way! Thanks a lot!
Thank you so much for making these videos. I'm a self-taught programmer when it comes to C++ and C (in uni we only learn Java) and until just now I never really grasped the concept of pointers and references. Awesome work and great explanations!
Mate, your videos are the best. Just to give you some insight into the variety of your target group and the impact that your videos are having: I'm an assistent professor in Econometrics at a top international university. As part of my research, I have developed novel statistical estimation procedures that work great for high-dimensional datasets (big data). The estimators can be computationally heavy and I have always programmed them in R, which made the computations painstakingly slow. A year ago, with the help of your videos, I made the switch to C++ (through the use of Rcpp) and my code has sped up x100. Not only have I been able to obtain valuable scientific insights by means of simulations a lot faster now (and publish them faster in academic journals), I have also turned my code into R packages, backprogrammed in C++, and made it available for other researchers. This explanation on passing by reference alone has saved me and researchers using my package a ton of time! Thanks a lot and please keep doing what your doing.
Thank you for that quick summary for the documenting the use of pointers and references as alias/ address alloc. I will come back to this video every time I run into a snag. Thanks again.
I have been a 'C' programmer for over 40 years. I was a systems programmer for Unix. I came here to get an explanation of Variable References and I just want to say thank you. I watched a few other videos but this was the best explanation. Thank you for being simple, concise, and clean in your explanation.
This series of videos is very beginner-friendly, the first half of the series is very detailed, but the latter is a brushstroke, all in all, very well done!!!
Oh man… this was exactly what I needed to see. Thanks for showing the simple example with the reference to a first, then confusing the crap outta me with function example where you use de-referencing and pointers, then getting me back on track with the pass by reference example. I needed to see the easy then convoluted case before I could understand why the final example was the way to go. You clearly thought that through. You’re awesome.
Dude, you dont know how much I owe you. I think that I already saw at least 2/3 of all of your videos. I'm graduating in computer science and..I was really dismotivated... I have nice grades and all, I understand the theoretical part of the classes but I was getting dismotivated at each semester and no interest at all in coding. Your videos gave fresh air to me and to my graduation. You're trully amazing. thanks.
@@daniazzam1161 newer CPP versions almost never affect core concepts such as variables, normal pointers or references so you dont have anything to worry about. Only the advanced concepts of the langauge can change with a new CPP version/standard
You just got a permanent fan, i just can't say student for now coz i'm not learning c++ right now, but really inspired by your videos, keep up the good work man. Thank you so much for giving us awesome videos like this.
I have been too lucky to find this course today in RUclips. It is 12:35 am and I can’t stop watching these amazing tutorial. You should be teaching at Harvard. Please upload videos on optimized C++
Best and most simple explanation on pointers and references. I think it's better to use pointers instead of referees because it communicates clearly that we're passing a pointer to a function and as a result the variable can be variable can be changed.
Even though this is about references... Ironically this is an excellent video displaying the usefulness of pointers. Your examples and explanations are top tier.
I used & in Parameter for quite sometime now and I never realised that it's actually the memory address I'm referencing. I finally start to understand the importance and usefulness of pointer and memory addresses.
Thank you so much for doing this! This was incredibly helpful. I'm about halfway through my C++ class at school and I could not have gotten this far without you! Thank you for this service to the Dev Community!
Great series! Comment to share one confussion I got about the code syntax for definition of the inference parameter in the function signature. Conventionally, the signature can be, for example, void Increment(int& value); or void Increment(int &value);. They are basically the same because whitespaces doesn't matter.
@@mastershooter64 I've read it a few years after I started learning c++, so I already knew a bit more than just the absolute basics but I think you can also read it earlier. I would not recommend reading it in the first few weeks or so though, because it is very technical and might be confusing. But I think at some point it's very helpful, it's very thick and thorough, it filled many small gaps that I had als self taught c++ programmer.
Lmao. A few years too late Cherno, but I straight failed my CIS class that just taught basic C++ because of this particular chapter kicking my ass. Your explanation just cemented what I felt I found out while working in Unreal engine with their Blueprints. But I was never able to grasp it in a pure C++ environment. Now I do. Thank you man.
In short, we use references to save space in RAM as much as possible or wherever possible and use pointers when we intend to change the memory address we are pointing to, or to allocate a chunk of memory to a variable.
I'm not exactly sure if this series is beginner friendly. There are places where if I was a beginner, I feel like I'd be totally confused (then again that might not be the case for everyone). But as an intermediate programmer coming from C#, this stuff is pure gold. Super helpful and very well explained.
As you say, it's not mean for beginners in programming. But, if you already know the basic concepts of programming like variables, conditionals, loops, functions and clases, then this course is really good.
From an old 'C' programmer trying to break old habits and fully convert to 'C++' way of things, these videos are awesome. Short, simple and to the point and even work at 1.5 playback speed. I now have the urge to find out when references was added to the language and if it has anything to do with ".Net"'s arrival?
My god, all the bulbs are going on(off?). Im enjoying each and every one of these video and also coding along as well using VSCode on Linux. You are a God send👏
I am serious when I am saying that you are probably the only youtuber that doesn't make me lose concentration or fall asleep after 10 minutes! Thank you
Can you please make a video explaining rvalue references, universal references, std::move and std::forward? Why we need them, when and where we should use them, etc. Thanks.
@@idk-bv3iw This is why Stroustrup (and everybody else) warns against the preprocessor. Or at least against overuse. But most of the time we are working with 'legacy code', so we have to be aware of the pitfalls and endure the headaches.
Hey, great work. I am refreshing my C++ and your videos are great. However, I'd like to point this out: int a = 5, *p_a = &a, &r_a = a; r_a += 5; std::cout
I'm laying with my phone at 3:14 am on christmas eve and watching c++ tutorials. What has my life become.
Yes. That is sad.
@@lucasgroves137 I actually felt pretty happy at that moment.
@@LuskyMJ So you were crying wolf. And on Xmas Eve too. 😄
After a year now I'm sure that you realized you did the right thing 👍
At least you have a good taste in Anime girls
I think I'm going to comment on every one of these videos.... Again, hands down, best C++ videos on the web... hands down.
agree
Any reason with that? Said little boy?
Have you guys seen Bucky's C++ tutorials? They are much better.
@@masasikisimoto26 Bucky covers a lot and does it quick, but he doesn't go to the same depth that Cherno does when describing concepts. Speed isn't always better, and Cherno ensures to cover a lot of important concepts that Bucky doesn't necessarily get to in an appropriate manner. That being said I enjoy both of their videos.
Truly appreciate these stuffs.
Its a bench mark for a standard video
He talks about references like the priest talks about angels.
that's right
It really is fascinating, I lost my shit when I learned about pointers/references.
That incrementing integer through memory addresses part is what really blew my bloody mind. Lower level languages never cease to surprise me. Coming from python, I feel like I'm capable of black magic now.
Black magic 😅
Wait till you learn C
Once C++ starts clicking for you, it REALLY makes sense. Damn. No wonder this shit has been industry standard for so damn long.
i kinda got problems with learning C++, so i rewatch these vids
@John McGee rust will take over c++
@@DragonKidPlaysMC Rust isn't taking over anything, definitely not C++. You don't realize what you're saying. Apart from some more narrow use cases, C++ will reign supreme for a long time.
@@hmthatsniceiguess2828 Almost the entirety of Firefox is written in Rust. Chromium has started including Rust in it. Hell, even the Linux kernel, which shunned C++ from its codebase, is going to start using Rust in it.
C++ is fun to write and experiment in, Rust is not. It's a bit locked down. Rust is fun to write a serious application, when memory leaks become a serious issue and GC isn't an option and smart pointers are too much of a runtime overhead for you liking.
I really hope I'll reach that point
that 3 types of input is amazing! basically included everything you need to know to take advantage of pointer reference and a single variable. Amazing vid!
Thank you Cherno for your high quality videos. I don't normally do projects in C++ but I needed to create a plugin for a program that is written in C++ and your videos made this a breeze.
Man, you're really awesome. I have seen many many tutorials in many topics before, but I have never seen such high quality nor someone who has such knowledge or clear way to explain things like you.
I am really a big fan of yours.
Seeing this video after the pointer video actually also made pointers way clearer to me as well once you started comparing their functionality at the end of the video. Amazing stuff.
The most articulate videos regarding computer programming that I have ever watched! I know this is a very "old" video at this point and, perhaps, there are better ones to comment on but there are clearly still people benefiting spectacularly from this series. I guess you're still the best of the best!!
5:34
I just recently discovered your channel and I must say I agree wholeheartedly with a lot of the other viewers who say that this is the best C++ resource on RUclips! Thanks so much for the fantastic content! Your channel has been invaluable in my quest to learn C++!
You really know how to explain things with precision. Not everyone has the ability to do that. This series is amazing and I hope you keep updating it cuz it`s really needed.
Watching some of your videos as a total beginner in C++ and coding in general I'm like "Oh, now I get it" in the first half to "What the..." towards the end of the video. Great work by the way! Thanks a lot!
Truth be told! your explanations are much much better than the paid lynda courses on C++! Thank you for these amazing videos!
yeah maybe cause your teacher probably never had a job at ea💀 its the hard truth
Thank you so much for making these videos. I'm a self-taught programmer when it comes to C++ and C (in uni we only learn Java) and until just now I never really grasped the concept of pointers and references. Awesome work and great explanations!
Mate, your videos are the best. Just to give you some insight into the variety of your target group and the impact that your videos are having: I'm an assistent professor in Econometrics at a top international university. As part of my research, I have developed novel statistical estimation procedures that work great for high-dimensional datasets (big data). The estimators can be computationally heavy and I have always programmed them in R, which made the computations painstakingly slow. A year ago, with the help of your videos, I made the switch to C++ (through the use of Rcpp) and my code has sped up x100. Not only have I been able to obtain valuable scientific insights by means of simulations a lot faster now (and publish them faster in academic journals), I have also turned my code into R packages, backprogrammed in C++, and made it available for other researchers. This explanation on passing by reference alone has saved me and researchers using my package a ton of time! Thanks a lot and please keep doing what your doing.
100%
Thank you for that quick summary for the documenting the use of pointers and references as alias/ address alloc. I will come back to this video every time I run into a snag. Thanks again.
I have been a 'C' programmer for over 40 years. I was a systems programmer for Unix. I came here to get an explanation of Variable References and I just want to say thank you. I watched a few other videos but this was the best explanation. Thank you for being simple, concise, and clean in your explanation.
@@forbidden-cyrillic-handle same.
Your video is clear, concise and filled with helpful examples. Great series Cherno!
You explain every concept in a so concise and understandable way. Helped me a lot. Thx.
This series of videos is very beginner-friendly, the first half of the series is very detailed, but the latter is a brushstroke, all in all, very well done!!!
Oh man… this was exactly what I needed to see. Thanks for showing the simple example with the reference to a first, then confusing the crap outta me with function example where you use de-referencing and pointers, then getting me back on track with the pass by reference example. I needed to see the easy then convoluted case before I could understand why the final example was the way to go. You clearly thought that through. You’re awesome.
This is by far the best explanation I have seen about references and its relations to pointers. Very awesome!!
This video series has been extremely helpful, thank you for making them.
Dude, you dont know how much I owe you.
I think that I already saw at least 2/3 of all of your videos.
I'm graduating in computer science and..I was really dismotivated... I have nice grades and all, I understand the theoretical part of the classes but I was getting dismotivated at each semester and no interest at all in coding. Your videos gave fresh air to me and to my graduation.
You're trully amazing.
thanks.
dude these videos are like three years old now so idk if you're gonna read this but you are so helpful thank you so much
These videos are so useful! Thank you for your time :)
Great video as always , even though i know these concepts but your videos further clarify my concepts Thank you.
This is the BEST C++ videos ever! The concepts and examples are very clear and it is very useful!
I was struggeling with a similar problem, and this just makes so much sense now! Thank you.
i used to struggle with pointers and references but this video rlly helped me a lot. thank u cherno
Every video in this series is absolute gold. Such clarity.
I'm curious how much of this changes with C++14
I am new to this series, is there a lot of changes in the newer Cpp versions?
@@daniazzam1161 newer CPP versions almost never affect core concepts such as variables, normal pointers or references so you dont have anything to worry about. Only the advanced concepts of the langauge can change with a new CPP version/standard
The instruction is really clear and on point, I won't be confused the notion of Pointer and Refference anymore. Really thank you
I really enjoy your videos cause not only I don’t need to fast forward it, but sometimes I have to even pause to check out the codes!
You just got a permanent fan, i just can't say student for now coz i'm not learning c++ right now, but really inspired by your videos, keep up the good work man.
Thank you so much for giving us awesome videos like this.
On of the clearest explanations I've ever seen, kudos to you, for being so clear.
I have been too lucky to find this course today in RUclips. It is 12:35 am and I can’t stop watching these amazing tutorial. You should be teaching at Harvard. Please upload videos on optimized C++
Great content
The best tutorials I found so far. Explanations are clean and understandable. Much better than my school.
Best and most simple explanation on pointers and references.
I think it's better to use pointers instead of referees because it communicates clearly that we're passing a pointer to a function and as a result the variable can be variable can be changed.
I was frustrated with this & but now it seems all clear, everything makes sense now. ThankYou
Even though this is about references... Ironically this is an excellent video displaying the usefulness of pointers. Your examples and explanations are top tier.
Really excellent video
What I mainly took away from this is that a reference can be thought of as an instance of a pointer?
this video actually made what pointers are more clear to me, thanks man
awesome video, really helps, and you tackle the subject well.
I just want to say thank you. Your teaching is so good.
Best c++ videos on the web! Thankyou.
thank bro, your explanation is so clear. i appreciate what your playlist
I used & in Parameter for quite sometime now and I never realised that it's actually the memory address I'm referencing.
I finally start to understand the importance and usefulness of pointer and memory addresses.
Thank you so much for doing this! This was incredibly helpful. I'm about halfway through my C++ class at school and I could not have gotten this far without you! Thank you for this service to the Dev Community!
I LOVE this video totally changed the way i look at C++ and what i can do you are amazing
Your all videos are saving my life in August 2021. Thank you.
Great series! Comment to share one confussion I got about the code syntax for definition of the inference parameter in the function signature. Conventionally, the signature can be, for example, void Increment(int& value); or void Increment(int &value);. They are basically the same because whitespaces doesn't matter.
Every time I want to get the variable's value and change that, I couldn't. But this way it could be sense! Thanks for making this awesome video!
Thanks for this awesome C++ tutorial series :)
Currently reading through "the C++ programing language 4th edition" and these video help understanding it immensely. Thank you!
Great book. Once you read a certain level I would recommend it to every C++ programmer, even if it can be a bit scary at first.
@@MsJavaWolf so... once you learn the basics of c++ you should read "the C++ programming language 4th edition"?
@@mastershooter64 I've read it a few years after I started learning c++, so I already knew a bit more than just the absolute basics but I think you can also read it earlier. I would not recommend reading it in the first few weeks or so though, because it is very technical and might be confusing.
But I think at some point it's very helpful, it's very thick and thorough, it filled many small gaps that I had als self taught c++ programmer.
Lmao. A few years too late Cherno, but I straight failed my CIS class that just taught basic C++ because of this particular chapter kicking my ass.
Your explanation just cemented what I felt I found out while working in Unreal engine with their Blueprints. But I was never able to grasp it in a pure C++ environment. Now I do.
Thank you man.
That was really helpful! Thank you Cherno, very cool
Thanks Man... Very well explained the concept of references!
Thank you. Your videos are deeply appreciated.
Cherno is doing a great job, a true dev , learned from his known experience and sharing it in terms which a normal person can easily understand.
In short, we use references to save space in RAM as much as possible or wherever possible and use pointers when we intend to change the memory address we are pointing to, or to allocate a chunk of memory to a variable.
I'm not exactly sure if this series is beginner friendly. There are places where if I was a beginner, I feel like I'd be totally confused (then again that might not be the case for everyone). But as an intermediate programmer coming from C#, this stuff is pure gold. Super helpful and very well explained.
no this series is clearly not to follow from scratch , but when u get familier with basic stuff this is 100% the best place to come.
As you say, it's not mean for beginners in programming. But, if you already know the basic concepts of programming like variables, conditionals, loops, functions and clases, then this course is really good.
You're so good at explaining keep it up!
Perfect tutorial series, truly awesome
The fact that this is one of the best courses for learning C++, In-depth theory, and clean code and it's free just boggles my mind.
This little 10 min video could've saved me so much pain back in 2016 when I was doing CS at uni. -__-
4:04 the best explanation ever of function, thank you soooo much
From an old 'C' programmer trying to break old habits and fully convert to 'C++' way of things, these videos are awesome. Short, simple and to the point and even work at 1.5 playback speed. I now have the urge to find out when references was added to the language and if it has anything to do with ".Net"'s arrival?
are you watching his videos on 1.5 playback? i'm even struggling on the normal speed lol
You do great work. Thank you for that. Would you mind thinking to make series about network programming? If you do that would be awesome.
My god, all the bulbs are going on(off?). Im enjoying each and every one of these video and also coding along as well using VSCode on Linux. You are a God send👏
Best explaining ever I know! Amazing Cherno! I am one of your Patreon just want to donate ^^
Perfect example as always. Thanks for the series!
Thanks Cherno. very useful as always.
I am serious when I am saying that you are probably the only youtuber that doesn't make me lose concentration or fall asleep after 10 minutes! Thank you
Tks for your videos. Its help a lot.
This is so helpful! Thank you!
clear explanation, good wit. AWESOME
Syntactic sugar, indeed. Here's a fun little experiment to try at home:
int *pi = new(int);
int& ri { *pi };
ri = 6;
cout
thank you for making this video, this last semester i had no idea what references were and they just popped up one day in my class and i was just lost
Great explanation, thank you!
讲的太好了,深入浅出!
The best explanation video for references very good thank you so much !!!!
Love you man!! thank you very mcuh.
By far the best content and explanation on C++ !
Can you please make a video explaining rvalue references, universal references, std::move and std::forward? Why we need them, when and where we should use them, etc. Thanks.
Really simple explanation and easy to understand!
5:58 OMG order of the operations! So that's why the (*value) is used instead of *value omg thx. always wondered that :O
By the way... This:
#define LOG(x) std::cout
@@rrmm5453 Because 16 in binary is 0001 0000. He is bit-shifting it to the left by 2 (16
@Neel Shukla when the preprocessor sees '
@@RandomDays906 The preprocessor doesn't see anything, it just copy-pastes code and just replaces x with the argument. So std::cout
@@idk-bv3iw This is why Stroustrup (and everybody else) warns against the preprocessor. Or at least against overuse. But most of the time we are working with 'legacy code', so we have to be aware of the pitfalls and endure the headaches.
Hey, great work. I am refreshing my C++ and your videos are great.
However, I'd like to point this out:
int a = 5, *p_a = &a, &r_a = a;
r_a += 5;
std::cout
Thank you so much , your explanation is amazing 👍👍
Thank u for such an awesome explanation.
I love your no-nonsense explanations in clear english! Please take my horse as payment.
Nice videos, thanks! When do you prefer references over pointers? I always end up using references because it does the job.
O M G!!! I was always puzzled about passed as a reference in function. Now it became so clear.
love your serues a lot!
Seeing a man in his kitchen talking about C++ is bizarre, but a nice breath of fresh air from a man talking behind screen capture software
Dude I couldn’t find this all out, until now. Thanks!
شكرا جزيلا ♥️ thank you