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.
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 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
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
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
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?
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...
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
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 so much!! i've been stuck on this concept for so long, but it's starting to make sense! thank you!!!
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...
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++
OMG ty I watched this before a final and aced that portion of it.
Dazzling explanation! Greetings from Bulgaria!
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 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
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
This is definitely one of the more confusing things... Thank you for this explanation!
Should also mention that if you use a prototype, it also needs to have the & sign.
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
Dude, I freaking love you. Thanks for your channel !!!
you are a master of codifying these concepts into a easy to digest format, Codified by Caleb haha keep it up!!
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
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?
Really like your explanation, very easy to understand. Job well done
Thanks a lot, Sir.
From India
Once again, you nailed it with the explanation. Good job 👌
thank you so much that makes sense a lot
I couldn't get the Embarcadero to work. It wouldn't accept any serial number I was given. Thank you for the information
You're awesome and appreciated! Thanks for the content!
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...
in this case of using reference as parameter, why not just pass "int *" type instead? does the same thing.
Thank you very much, this was so helpful
Thanks a bunch for this!!!
excellent explanation
Really loved your explanation. Thank you!
Great explanation.
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...
great explanation Thanks
wow i needed this thank you
Brilliant!
Brilliant guy
Thank you!
Thanks so much.
Amazing!!
OMG, I love you! Thank you very much, Curry!
wow, only 20K people actually wnat to improve software performance
27k
Thank you sm!!!!
Crisp clear
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.
very freat explaination
5:00
Your curly brackets bro 💀
My “and”s look like a 4 on its side.
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.
i love you
i love you
Another one.
NO
STOP
the only reason i am not subscribing to your channel is the ad duration is way too annoying !
I don't understand fml