One thing I have learned is that it is good practice to pass things by reference unless you have a good reason not to, because if you pass by value, the computer also needs to copy the object whenever a function gets called. If the object used is especially large, or you're calling a function especially often, or both, passing by reference means your code will run much faster.
I was wondering this same thing while watching the video. I'm unsure if this is true, but as of now I don't have a reason to not agree with you. If anyone has some information we are both missing out on, please let us know
That's very true. I think that the same logic can also be applied to range-based for loops, by making the type of the declaration (the thing that comes before the ':' in the brackets) either auto& or const auto& (for if you want to be able to modify the element in the loop, or if the elements will not be modified in the loop, respectively. I hope that makes sense.
It depends what the function is doing but I prefer to use pass by value when possible. I don’t like the idea of being able to mutate a variable that isn’t defined in the scope of the function. Obviously though there are times when you can’t prevent this like when you mutate an object inside a cpp function
Dude! Yes finally I understand why my value changes, but when the funtion is ended, the value is restored. The &value did the trick, man I lost 6 hours of trial and error and this dit it in 10 seconds. Thank you for your knowledge . Cheers
Actually thank you so much, I've been stuck on functions for a week and a half now using codecademy, and I knew I was stuck on one concept, but could never figure it out. After this video I have so much of a better understanding. I never even knew the difference of passing by a reference to passing by value. Honestly this one of the best video I've come across on the internet in terms of explanation for beginners.
There are so many helpful youtubers that help me understamd within 5 minutes. I know the feel. Our professor tells us "You need to learn how to do 'X' concept" everytime you ask her something.... Like isn't it her job to teach me 'X' concept?
Really appreciate your efforts and make concepts very SIMPLE. Very few tutors/teachers can have this abilities. You helping many lives who struggle with C++. God bless you @Caleb
i play your videos on 2x, you are not boring or slow, your explanations are so that even a dummer like me can understand it very easily even on high speed
can you do video on pointer variables and how pointer calculation works like integer ones outside int main. Mixing with array would be nice. I also want video of the pointer of single link to double link head to tail
You know what else has skyrocketed since you started making this tutorial? The number of people who learned about a product that can help them deploy high-performance native apps on windows, android, iOS, macOS, and linux. Unfortunately I can't quite recall the name of it at the moment. Hopefully I'll hear it again soon, maybe even in the next video...
I started to write a similar code as of the 4:58 time stamp. And canonically, I started with x = 5 and I was surprised to see you do the same... 5:20 That's awesome!!! congrats, sir... BTW, Thank you very much for all your help so far...
what if our functions' argument is an array and the function modifies said array? can we do it if the type information is lost while passing the array as pointer?
I wish every tutorial about reference values wouldn't rely on arrays to explain it. Reference values come before arrays in my introductory CS class. One thing I don't really understand is enough, don't need two.
The concept is simple but when you actually have to do it its difficult
As a computer science student, I really appreciate all of your videos. They make all these complicated topics so much clearer. :)
On behalf of all programming students;
cout
std::cout
@@khaledAli03 they could've specified "using namespace std;" otherwise you needed to let them know they're missing a whole lot of other stuff lol
@@khaledAli03
#include
using namespace std;
int main(){
cout
nerds
"THANK YOU!!!
"
One thing I have learned is that it is good practice to pass things by reference unless you have a good reason not to, because if you pass by value, the computer also needs to copy the object whenever a function gets called. If the object used is especially large, or you're calling a function especially often, or both, passing by reference means your code will run much faster.
I was wondering this same thing while watching the video. I'm unsure if this is true, but as of now I don't have a reason to not agree with you. If anyone has some information we are both missing out on, please let us know
That's very true. I think that the same logic can also be applied to range-based for loops, by making the type of the declaration (the thing that comes before the ':' in the brackets) either auto& or const auto& (for if you want to be able to modify the element in the loop, or if the elements will not be modified in the loop, respectively. I hope that makes sense.
It depends what the function is doing but I prefer to use pass by value when possible. I don’t like the idea of being able to mutate a variable that isn’t defined in the scope of the function. Obviously though there are times when you can’t prevent this like when you mutate an object inside a cpp function
thank you so much!! i've been stuck on this concept for so long, but it's starting to make sense! thank you!!!
I needed this. I almost have a minor in CS and didn't clearly understand this concept until now. THANK YOU!
Dude! Yes finally I understand why my value changes, but when the funtion is ended, the value is restored. The &value did the trick, man I lost 6 hours of trial and error and this dit it in 10 seconds. Thank you for your knowledge . Cheers
Thank you as an engineering student that has nothing to do with programming whatsoever but required to by my college. You've really helped me 😂
He is a keeper of the peace, 'his name is...' We thank this man...
OMG ty I watched this before a final and aced that portion of it.
Actually thank you so much, I've been stuck on functions for a week and a half now using codecademy, and I knew I was stuck on one concept, but could never figure it out. After this video I have so much of a better understanding. I never even knew the difference of passing by a reference to passing by value. Honestly this one of the best video I've come across on the internet in terms of explanation for beginners.
you're damn underrated, pal. Thanks for easing down this important feature of C++
Thank you for the explanation! I understood in 5 minutes the pass by concept!
There are so many helpful youtubers that help me understamd within 5 minutes. I know the feel. Our professor tells us "You need to learn how to do 'X' concept" everytime you ask her something.... Like isn't it her job to teach me 'X' concept?
Dude, I freaking love you. Thanks for your channel !!!
Dazzling explanation! Greetings from Bulgaria!
Really appreciate your efforts and make concepts very SIMPLE.
Very few tutors/teachers can have this abilities.
You helping many lives who struggle with C++.
God bless you @Caleb
Once again, you nailed it with the explanation. Good job 👌
I feel so validated that you acknowledged that there is a learning curve to writing an and sign. I’ve been working on my and sign lately too.
not to brag or anything but I did it rn first try
thank you so much that makes sense a lot
Really like your explanation, very easy to understand. Job well done
You're awesome and appreciated! Thanks for the content!
This is definitely one of the more confusing things... Thank you for this explanation!
you are a master of codifying these concepts into a easy to digest format, Codified by Caleb haha keep it up!!
i play your videos on 2x, you are not boring or slow, your explanations are so that even a dummer like me can understand it very easily even on high speed
Thanks a lot, Sir.
From India
excellent explanation
Thanks a bunch for this!!!
Thank you very much, this was so helpful
Should also mention that if you use a prototype, it also needs to have the & sign.
Great explanation.
great explanation Thanks
Really loved your explanation. Thank you!
Thank you!
can you do video on pointer variables and how pointer calculation works like integer ones outside int main. Mixing with array would be nice. I also want video of the pointer of single link to double link head to tail
Brilliant guy
Brilliant!
OMG, I love you! Thank you very much, Curry!
Thanks so much.
You know what else has skyrocketed since you started making this tutorial? The number of people who learned about a product that can help them deploy high-performance native apps on windows, android, iOS, macOS, and linux. Unfortunately I can't quite recall the name of it at the moment. Hopefully I'll hear it again soon, maybe even in the next video...
wow i needed this thank you
Amazing!!
Thank you sm!!!!
wow, only 20K people actually wnat to improve software performance
27k
I started to write a similar code as of the 4:58 time stamp. And canonically, I started with x = 5 and I was surprised to see you do the same...
5:20 That's awesome!!! congrats, sir...
BTW, Thank you very much for all your help so far...
Crisp clear
what if our functions' argument is an array and the function modifies said array? can we do it if the type information is lost while passing the array as pointer?
I couldn't get the Embarcadero to work. It wouldn't accept any serial number I was given. Thank you for the information
in this case of using reference as parameter, why not just pass "int *" type instead? does the same thing.
very freat explaination
i love you
Your curly brackets bro 💀
5:00
I wish every tutorial about reference values wouldn't rely on arrays to explain it. Reference values come before arrays in my introductory CS class. One thing I don't really understand is enough, don't need two.
Another one.
NO
STOP
Function header shouldn't be void do_stuff(int *x)? I admire your & drawing skills but mistake like that is unaccaptable for me in a tutorial video.
My “and”s look like a 4 on its side.
the only reason i am not subscribing to your channel is the ad duration is way too annoying !
I don't understand fml