Difference Between Reference And Pointers In C++

Sdílet
Vložit
  • čas přidán 31. 12. 2017
  • JOIN ME
    -----
    CZcams 🎬 / @cppnuts
    Patreon 🚀 / cppnuts
    COMPLETE PLAYLIST
    ------------
    C++ Tutorial For Beginners: • Introduction To C++
    STL (Standard Template Library): • STL In C++
    ThreadIng In C++: • Multithreading In C++
    Data Structures: • Data Structure
    Algorithms: • Binary Search
    Design Patterns: • Factory Design Pattern...
    Smart Pointers: • Smart Pointer In C++
    C++14: • Digit Separator In C++
    C++17: • std string_view in C++...
    C++ All Type Casts: • static_cast In C++
    INTERVIEW PLAYLIST
    ------------
    C++ Interview Q&A: • Structural Padding & P...
    C++ Interview Q&A For Experienced: • How delete[] Knows How...
    Linked List Interview Questions: • Find Kth Node From Bac...
    BST Interview Questions: • Search Element In Bina...
    Array Interview Questions: • Reverse An Array
    String Interview Questions: • Check String Is Palind...
    Bit Manipulation Questions: • Find Set Bit In Intege...
    Binary Tree Interview Question: • Invert Binary Tree
    Sorting Algorithms: • Bubble Sort
    C++ MCQ: • Video
    C MCQ: • What printf returns af...
    C Interview Questions: • Designated Initializat...
    QUICK SHORT VIDEOS
    -------------
    C++ Short : • C++ Short Videos
    C Short : • Shorts C Programming MCQ
    As the title say there is very big difference between reference and pointer in c++. So lets learn them and do comment if you have any question about the video.
    #cpp #tutorial #interviewquestions #computerscience #softwareengineering

Komentáře • 63

  • @CppNuts
    @CppNuts  Před 5 lety +7

    Hi everyone, Don't forget to hit LIKE and SUBSCRIBE button for more videos like this!!
    And this will help me a-lot.

  • @subratkumarsahoo3633
    @subratkumarsahoo3633 Před 4 lety +10

    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.

  • @IshaqKhan-rk5bl
    @IshaqKhan-rk5bl Před 6 lety +11

    i have seen many channels regarding c++ but your content is to the point and also that extra knowledge about things is amazing

  • @kushgh
    @kushgh Před 9 měsíci

    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.

  • @somanathnayak4279
    @somanathnayak4279 Před 6 lety +1

    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.

  • @Ady2xp
    @Ady2xp Před 6 lety +1

    Awesome video! Thank you for it!

    • @CppNuts
      @CppNuts  Před 6 lety

      Ady2xp, thank you so much.

  • @fatihersoy7559
    @fatihersoy7559 Před 3 lety +1

    Best cpp lecturer on CZcams.

  • @prishaphotography9063
    @prishaphotography9063 Před 6 lety +1

    Sir,you covered more than expected content.might be you are the only one

    • @CppNuts
      @CppNuts  Před 6 lety +1

      +Ankit Makadia thanks man.. :)

  • @BiranchiNarayanNayak
    @BiranchiNarayanNayak Před 2 lety

    Excellent Explanation, love it

  • @MrDhawal29
    @MrDhawal29 Před 6 lety +1

    Your Regular follower now..:D
    Prepare a video on Red Black tree in DS..
    And yeah keep it up !!

    • @CppNuts
      @CppNuts  Před 6 lety

      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.

    • @MrDhawal29
      @MrDhawal29 Před 6 lety +1

      No worries dude,Keep it up..we are with you !!

    • @CppNuts
      @CppNuts  Před 6 lety

      +Dhawal Arora, thanks dude..

  • @lidavid7809
    @lidavid7809 Před 3 lety

    really clear, thank u sir!

  • @sridharpm1989
    @sridharpm1989 Před 6 lety +1

    Keep up the good work ☺👌

    • @CppNuts
      @CppNuts  Před 6 lety

      Sridhar Pm, glad you liked it.

  • @nithyanarayan8080
    @nithyanarayan8080 Před 6 lety

    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

  • @cos1paY
    @cos1paY Před 4 lety +1

    Very helpful.
    thx

  • @georgeabraham7256
    @georgeabraham7256 Před rokem

    &: 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.

  • @srinivas2808
    @srinivas2808 Před 6 lety +2

    plz make a video of difference b/w function overloading and overriding ......

    • @CppNuts
      @CppNuts  Před 6 lety

      +Srinivas KL, here is that video, what you asked for czcams.com/video/CdVpbjFetD8/video.html

    • @srinivas2808
      @srinivas2808 Před 6 lety +1

      Thank you .....

    • @CppNuts
      @CppNuts  Před 6 lety

      +Srinivas KL you are most welcome :)

  • @kartikpodugu
    @kartikpodugu Před 9 měsíci

    Can you elaborate what is the use of creating a reference to a reference ?

  • @kinjalshah2796
    @kinjalshah2796 Před 4 lety

    How members are accessed through reference?

  • @spicytuna08
    @spicytuna08 Před 6 lety +1

    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.

  • @spicytuna08
    @spicytuna08 Před 6 lety +1

    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?

    • @CppNuts
      @CppNuts  Před 6 lety

      Yes correct but assume mean to say p=&i; in your comment then everything you wrote is valid.

  • @akshaykulkarni1301
    @akshaykulkarni1301 Před 3 lety

    Thanks

  • @adityaghaywat3648
    @adityaghaywat3648 Před 4 lety

    @3:25 why it is different?

  • @sathviktumoju1195
    @sathviktumoju1195 Před 4 lety

    good work

  • @user-gu6bx6rs5g
    @user-gu6bx6rs5g Před rokem +1

    I think you missed 1 poimt which that we cannot have array of references but with pointers it is possible

    • @CppNuts
      @CppNuts  Před rokem +1

      Oh.. great.. Thanks for pointing this out.
      I should pin this comment so that few people would get benefited from this comment.

  • @rakhilsoman9299
    @rakhilsoman9299 Před 6 lety

    at 6:58 You say (&r)++;. This is an error, right?

  • @zc4060
    @zc4060 Před 4 lety +1

    int a = 10;
    int *p = &a;
    p and a should have the same address. I tried it on my computer.

    • @CppNuts
      @CppNuts  Před 4 lety +3

      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

  • @sakuranooka
    @sakuranooka Před 2 lety

    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"?

    • @reassume4826
      @reassume4826 Před 2 lety

      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.

  • @LazyTechNo
    @LazyTechNo Před 5 lety +1

    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

    • @CppNuts
      @CppNuts  Před 5 lety

      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.

    • @LazyTechNo
      @LazyTechNo Před 5 lety +1

      i am also saying that &r = i; which is pointing to something. then how u changed r = var; ?

    • @CppNuts
      @CppNuts  Před 5 lety

      Actually you are not changing the reference, you are changing the value at i with var.

  • @spaceinvader8892
    @spaceinvader8892 Před 4 lety +1

    Nice, but I would write Address Arithmetic Operations for 4th.

  • @BernhardWeber-l5b
    @BernhardWeber-l5b Před 2 lety

    I do not see how someone deem this a good and precise explanation. Thanks for removing dislike, CZcams broncos.

  • @bluehornet6752
    @bluehornet6752 Před 6 lety +3

    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++.

    • @CppNuts
      @CppNuts  Před 6 lety +1

      Tom B, i will work on my speed, thanks man.. :)

  • @bikashranjandas7936
    @bikashranjandas7936 Před 2 lety

    All your viideos are awesome. Only thing hurts to (my) ears are your fake accent.

  • @HosseinAmirshaghaghi
    @HosseinAmirshaghaghi Před rokem

    That is not a good explanation.