Reference can extend the lifetime of a temporary object. In C++ if you bind a const reference to a temporary object, the lifetime of that object becomes the lifetime of the reference.
I absolutely love your videos Cpp Nuts. If it weren't for you guys, I would have never learned MultiThreading so fast. I just wanted to point out that at 07:00 - You mention that r++ is impossible and (&r)++ is possible, whereas its the opposite. You will get the following error at (&r)++ -> error: increment of read-only location ‘& r’ Whereas r++ will just increment i by 1, so i and r will become 11. Love your content. And a major salute to Team CppNuts.
Hi, Thanks a lot for your noble effort of adding cpp videos. I have a question. Please let me know when to use only pointer and when to use only reference while writing a program. What is the real life usage of reference over pointer? If reference and pointer both are present in C++ means there should be some situations where only reference is useful and some places where only pointer is useful. Thanks in advance.
&: you can make a copy or pass a reference, you need to have an independent copy(y = x) that will change from the original or you need to modify the same source value somewhere else(&y = x). *: you need to index something, even the CPU indexes it's instruction code and registers incrementors through your program with the same feature gained from a pointer.. anything can be indexed... the heap is only accessible by registers tracking your stuff on the heap by address values stored in the stack by hard design.. you can't get past the extra *dereference to gain access to the stuff you have out there. stack: a memory address containing a value, heap: a memory address containing a memory address that containing a value/structure/etc.
Hi Dhawal Arora, Let the data structures & algorithms turn come. :D I am trying my best to reach that list ASAP, and thanks for following my videos dude.
u said reassignment is not possible with reference. then u put r = var and accepted that how its possible then ? i didn't get this point watching 2 times. please explain
I would have said that once reference is pointing to something, then we can not change it to refer something else. And when you are creating reference that time only you have to initialize to which it should refer. And then it will not change what it is referring to. And you can not just create reference variable without making it refer something.
Ok, I can see all these differences. But what is actually the purposes of references? Why did people decide to introduce them? To me references look like synonyms for variable names, so I can use "r" instead of "i", but what's the point? Why SHOULD I use "r" rather than "i"?
Suppose u want to have another variable with the same value...so to keep the other variable update and also reuse the memory of previous variable..we just store references.
You talk WAY too fast in the beginning of your videos. It's virtually impossible to understand what you're actually saying. Otherwise, it was a nice video and a good review of references compared to pointers in C++. I might have made use of *nullptr* instead of NULL for initializing the pointer, but that's not a huge deal. It's just the new C++.
Hi everyone, Don't forget to hit LIKE and SUBSCRIBE button for more videos like this!!
And this will help me a-lot.
i have seen many channels regarding c++ but your content is to the point and also that extra knowledge about things is amazing
Thanks dude.. :)
Great video.
Thanks man..
Reference can extend the lifetime of a temporary object. In C++ if you bind a const reference to a temporary object, the lifetime of that object becomes the lifetime of the reference.
I absolutely love your videos Cpp Nuts. If it weren't for you guys, I would have never learned MultiThreading so fast.
I just wanted to point out that at 07:00 - You mention that r++ is impossible and (&r)++ is possible, whereas its the opposite.
You will get the following error at (&r)++ -> error: increment of read-only location ‘& r’
Whereas r++ will just increment i by 1, so i and r will become 11.
Love your content. And a major salute to Team CppNuts.
Best cpp lecturer on RUclips.
Thanks man..
Sir,you covered more than expected content.might be you are the only one
+Ankit Makadia thanks man.. :)
Excellent Explanation, love it
Thanks
Awesome video! Thank you for it!
Ady2xp, thank you so much.
Hi, Thanks a lot for your noble effort of adding cpp videos. I have a question. Please let me know when to use only pointer and when to use only reference while writing a program. What is the real life usage of reference over pointer? If reference and pointer both are present in C++ means there should be some situations where only reference is useful and some places where only pointer is useful. Thanks in advance.
&: you can make a copy or pass a reference, you need to have an independent copy(y = x) that will change from the original or you need to modify the same source value somewhere else(&y = x).
*: you need to index something, even the CPU indexes it's instruction code and registers incrementors through your program with the same feature gained from a pointer.. anything can be indexed... the heap is only accessible by registers tracking your stuff on the heap by address values stored in the stack by hard design.. you can't get past the extra *dereference to gain access to the stuff you have out there. stack: a memory address containing a value, heap: a memory address containing a memory address that containing a value/structure/etc.
really clear, thank u sir!
Glad it helped!
Your Regular follower now..:D
Prepare a video on Red Black tree in DS..
And yeah keep it up !!
Hi Dhawal Arora, Let the data structures & algorithms turn come. :D
I am trying my best to reach that list ASAP, and thanks for following my videos dude.
No worries dude,Keep it up..we are with you !!
+Dhawal Arora, thanks dude..
@3:25 why it is different?
plz make a video of difference b/w function overloading and overriding ......
+Srinivas KL, here is that video, what you asked for ruclips.net/video/CdVpbjFetD8/видео.html
Thank you .....
+Srinivas KL you are most welcome :)
Very helpful.
thx
glad it helped.
hold on. if p is a pointer to an int. int *p; int i = 10 p=i; *p is 10. p is the address of i.&p is the adress of p. is this correct?
Yes correct but assume mean to say p=&i; in your comment then everything you wrote is valid.
I think you missed 1 poimt which that we cannot have array of references but with pointers it is possible
Oh.. great.. Thanks for pointing this out.
I should pin this comment so that few people would get benefited from this comment.
Nice video. Having a doubt in indirection:
Can we consider this as multiple indirection?
int i=1;
int &r=i;
int &j=r;
int &e=j;
int &m=e;
cout
Can you elaborate what is the use of creating a reference to a reference ?
I do not see how someone deem this a good and precise explanation. Thanks for removing dislike, RUclips broncos.
I appreciate that!
Thank you!
1:29
4:43
5:31
Also we cannot increment and decrement value of refrence as mention in video
How members are accessed through reference?
hold on. reference variable must occupy a space somewhere. i get it that it is an alias. but there must be a space for alias.
good work
Thank you! Cheers!
at 6:58 You say (&r)++;. This is an error, right?
right
Thanks
Welcome
Nice content , but mate switched accents in between the video !
u said reassignment is not possible with reference. then u put r = var and accepted that how its possible then ? i didn't get this point watching 2 times. please explain
I would have said that once reference is pointing to something, then we can not change it to refer something else.
And when you are creating reference that time only you have to initialize to which it should refer. And then it will not change what it is referring to.
And you can not just create reference variable without making it refer something.
i am also saying that &r = i; which is pointing to something. then how u changed r = var; ?
Actually you are not changing the reference, you are changing the value at i with var.
Ok, I can see all these differences. But what is actually the purposes of references? Why did people decide to introduce them? To me references look like synonyms for variable names, so I can use "r" instead of "i", but what's the point? Why SHOULD I use "r" rather than "i"?
Suppose u want to have another variable with the same value...so to keep the other variable update and also reuse the memory of previous variable..we just store references.
int a = 10;
int *p = &a;
p and a should have the same address. I tried it on my computer.
p is holding the address of a, but p will have its own address, then only p can store the address of a right??
if(p == &a) is true
Nice, but I would write Address Arithmetic Operations for 4th.
You talk WAY too fast in the beginning of your videos. It's virtually impossible to understand what you're actually saying.
Otherwise, it was a nice video and a good review of references compared to pointers in C++. I might have made use of *nullptr* instead of NULL for initializing the pointer, but that's not a huge deal. It's just the new C++.
Tom B, i will work on my speed, thanks man.. :)
All your viideos are awesome. Only thing hurts to (my) ears are your fake accent.
😂
That is not a good explanation.
What happened?