REFERENCES in C++

Поділитися
Вставка
  • Опубліковано 15 чер 2024
  • Twitter ► / thecherno
    Instagram ► / thecherno
    Patreon ► / thecherno
    POINTERS in C++ ► • POINTERS in C++
    Series Playlist ► • C++
    BEST laptop for programming! ► geni.us/pakTES
    My FAVOURITE keyboard for programming! ► geni.us/zNhB
    FAVOURITE monitors for programming! ► geni.us/Ig6KBq
    MAIN Camera ► geni.us/t6xyDRO
    MAIN Lens ► geni.us/xGoDWT
    Second Camera ► geni.us/CYUQ
    Microphone ► geni.us/wqO6g7K
    Slack ► slack.thecherno.com
    Stream ► / thecherno
    Website ► www.thecherno.com
    Facebook ► / thecherno

КОМЕНТАРІ • 607

  • @LuskyMJ
    @LuskyMJ 2 роки тому +246

    I'm laying with my phone at 3:14 am on christmas eve and watching c++ tutorials. What has my life become.

    • @lucasgroves137
      @lucasgroves137 Рік тому +6

      Yes. That is sad.

    • @LuskyMJ
      @LuskyMJ Рік тому +39

      @@lucasgroves137 I actually felt pretty happy at that moment.

    • @lucasgroves137
      @lucasgroves137 Рік тому

      @@LuskyMJ So you were crying wolf. And on Xmas Eve too. 😄

    • @SOME_BORED_GUY
      @SOME_BORED_GUY Рік тому +11

      After a year now I'm sure that you realized you did the right thing 👍

    • @lilfelix8955
      @lilfelix8955 Рік тому +4

      At least you have a good taste in Anime girls

  • @ToxicityGameDev
    @ToxicityGameDev 6 років тому +1254

    I think I'm going to comment on every one of these videos.... Again, hands down, best C++ videos on the web... hands down.

    • @benjaminf.3760
      @benjaminf.3760 5 років тому +7

      agree

    • @GfastGao
      @GfastGao 5 років тому +1

      Any reason with that? Said little boy?

    • @masasikisimoto26
      @masasikisimoto26 5 років тому +4

      Have you guys seen Bucky's C++ tutorials? They are much better.

    • @michaelm.3641
      @michaelm.3641 5 років тому +66

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

    • @sarveshkaran9380
      @sarveshkaran9380 5 років тому

      Truly appreciate these stuffs.
      Its a bench mark for a standard video

  • @KamilKhanYT
    @KamilKhanYT 4 роки тому +347

    He talks about references like the priest talks about angels.

    • @ppbb6699
      @ppbb6699 4 роки тому +4

      that's right

    • @HaragothNAR
      @HaragothNAR 4 роки тому +15

      It really is fascinating, I lost my shit when I learned about pointers/references.

  • @Aaronmac404
    @Aaronmac404 5 років тому +146

    Once C++ starts clicking for you, it REALLY makes sense. Damn. No wonder this shit has been industry standard for so damn long.

    • @contruq
      @contruq 3 роки тому +1

      i kinda got problems with learning C++, so i rewatch these vids

    • @DragonKidPlaysMC
      @DragonKidPlaysMC 3 роки тому +2

      @John McGee rust will take over c++

    • @hmthatsniceiguess2828
      @hmthatsniceiguess2828 3 роки тому +11

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

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 3 роки тому +3

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

    • @kallht2079
      @kallht2079 2 роки тому

      I really hope I'll reach that point

  • @joebruh8230
    @joebruh8230 2 роки тому +44

    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.

    • @NphiniT
      @NphiniT 8 місяців тому

      Black magic 😅

    • @theseangle
      @theseangle 5 місяців тому +1

      Wait till you learn C

  • @omearsaeed
    @omearsaeed 6 років тому +277

    Truth be told! your explanations are much much better than the paid lynda courses on C++! Thank you for these amazing videos!

    • @biqbicle4982
      @biqbicle4982 Рік тому +4

      yeah maybe cause your teacher probably never had a job at ea💀 its the hard truth

    • @forbidden-cyrillic-handle
      @forbidden-cyrillic-handle Рік тому +1

      At least you have money to waste on paid courses. Although not having the money also saves you from disappointment, so I'll be philosophical about it and say both have their benefits.

  • @etiennewijler6830
    @etiennewijler6830 3 роки тому +77

    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.

  • @cagdascevrim69
    @cagdascevrim69 3 роки тому +15

    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

  • @daginganinja4075
    @daginganinja4075 4 роки тому +62

    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!!

  • @Tracks777
    @Tracks777 7 років тому +68

    Great content

  • @alsayedalsisi2709
    @alsayedalsisi2709 6 років тому +20

    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.

  • @SanteriP
    @SanteriP 2 роки тому

    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.

  • @michaelm.3641
    @michaelm.3641 5 років тому +3

    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.

  • @davidbatetc
    @davidbatetc 7 років тому +151

    These videos are so useful! Thank you for your time :)

  • @jeremygong4190
    @jeremygong4190 2 роки тому +3

    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!

  • @jerryleemelton1860
    @jerryleemelton1860 5 років тому

    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 UA-cam! Thanks so much for the fantastic content! Your channel has been invaluable in my quest to learn C++!

  • @THEBLOODYCKANDY
    @THEBLOODYCKANDY 5 років тому

    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.

  • @ganeshshenoy2615
    @ganeshshenoy2615 6 років тому

    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.

  • @AlexTheGreatish
    @AlexTheGreatish 6 років тому +12

    5:34

  • @gabrielmaria2762
    @gabrielmaria2762 5 років тому +1

    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!

  • @DarkblueRadiance
    @DarkblueRadiance 6 років тому +1

    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!

  • @jacobgordon9770
    @jacobgordon9770 4 роки тому

    Your video is clear, concise and filled with helpful examples. Great series Cherno!

  • @beebstergames7348
    @beebstergames7348 Рік тому +7

    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.

  • @Djzaamir
    @Djzaamir 7 років тому +3

    Great video as always , even though i know these concepts but your videos further clarify my concepts Thank you.

  • @yumje3377
    @yumje3377 Рік тому +1

    You explain every concept in a so concise and understandable way. Helped me a lot. Thx.

  • @Sarah-pf4ec
    @Sarah-pf4ec 6 років тому +5

    This video series has been extremely helpful, thank you for making them.

  • @vasuki9109
    @vasuki9109 6 років тому

    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.

  • @user-jh4ec8eu4y
    @user-jh4ec8eu4y Рік тому

    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!!!

  • @roboking1020
    @roboking1020 2 роки тому +13

    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.

    • @AlaaAreesPhoenix
      @AlaaAreesPhoenix Рік тому +7

      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.

    • @heavymetalmixer91
      @heavymetalmixer91 Рік тому +3

      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.

  • @kinsondigital
    @kinsondigital 4 роки тому

    This is by far the best explanation I have seen about references and its relations to pointers. Very awesome!!

  • @platch23
    @platch23 5 років тому +28

    Every video in this series is absolute gold. Such clarity.
    I'm curious how much of this changes with C++14

    • @daniazzam1161
      @daniazzam1161 Рік тому

      I am new to this series, is there a lot of changes in the newer Cpp versions?

    • @wowvain2989
      @wowvain2989 Рік тому +1

      @@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

  • @QuintinMassey
    @QuintinMassey 2 роки тому +2

    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.

  • @alphatier4919
    @alphatier4919 5 років тому +66

    By the way... This:
    #define LOG(x) std::cout

    • @konsulan7576
      @konsulan7576 4 роки тому +13

      @@rrmm5453 Because 16 in binary is 0001 0000. He is bit-shifting it to the left by 2 (16

    • @RandomDays906
      @RandomDays906 4 роки тому +8

      @Neel Shukla when the preprocessor sees '

    • @idk-bv3iw
      @idk-bv3iw 4 роки тому +5

      @@RandomDays906 The preprocessor doesn't see anything, it just copy-pastes code and just replaces x with the argument. So std::cout

    • @piechulla1966
      @piechulla1966 4 роки тому +3

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

  • @teacup3000
    @teacup3000 6 років тому

    I was struggeling with a similar problem, and this just makes so much sense now! Thank you.

  • @stephenwu4379
    @stephenwu4379 5 років тому

    This is the BEST C++ videos ever! The concepts and examples are very clear and it is very useful!

  • @chomiyeons
    @chomiyeons Рік тому

    i used to struggle with pointers and references but this video rlly helped me a lot. thank u cherno

  • @Nam_David
    @Nam_David 8 місяців тому

    The instruction is really clear and on point, I won't be confused the notion of Pointer and Refference anymore. Really thank you

  • @md.rezwanferdous2874
    @md.rezwanferdous2874 5 років тому

    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.

  • @imanhn
    @imanhn 3 роки тому

    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!

  • @dorothyglade9087
    @dorothyglade9087 4 роки тому +2

    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!

  • @ch3dsmaxuser
    @ch3dsmaxuser Рік тому

    On of the clearest explanations I've ever seen, kudos to you, for being so clear.

  • @flamag7346
    @flamag7346 2 роки тому

    The best tutorials I found so far. Explanations are clean and understandable. Much better than my school.

  • @jacob8325
    @jacob8325 5 років тому

    awesome video, really helps, and you tackle the subject well.

  • @thestarinthesky_
    @thestarinthesky_ 4 роки тому +1

    I have been too lucky to find this course today in UA-cam. 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++

  • @CheatCodeSam
    @CheatCodeSam 5 років тому +14

    Currently reading through "the C++ programing language 4th edition" and these video help understanding it immensely. Thank you!

    • @MsJavaWolf
      @MsJavaWolf 4 роки тому +1

      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.

    • @mastershooter64
      @mastershooter64 3 роки тому +3

      @@MsJavaWolf so... once you learn the basics of c++ you should read "the C++ programming language 4th edition"?

    • @MsJavaWolf
      @MsJavaWolf 3 роки тому

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

  • @kayumbamaxime8658
    @kayumbamaxime8658 3 роки тому

    thank bro, your explanation is so clear. i appreciate what your playlist

  • @vimleshkumarkanaujiya
    @vimleshkumarkanaujiya 2 роки тому

    Your all videos are saving my life in August 2021. Thank you.

  • @begum5207
    @begum5207 3 роки тому +1

    I just want to say thank you. Your teaching is so good.

  • @w3w3w3
    @w3w3w3 4 роки тому +3

    Best c++ videos on the web! Thankyou.

  • @TheChemicalBassist
    @TheChemicalBassist 4 роки тому +2

    Even though this is about references... Ironically this is an excellent video displaying the usefulness of pointers. Your examples and explanations are top tier.

  • @yadav-r
    @yadav-r 2 роки тому

    I was frustrated with this & but now it seems all clear, everything makes sense now. ThankYou

  • @jonforhan9196
    @jonforhan9196 Рік тому

    I LOVE this video totally changed the way i look at C++ and what i can do you are amazing

  • @cheemsinu2147
    @cheemsinu2147 3 роки тому +1

    Thanks for this awesome C++ tutorial series :)

  • @calibr0636
    @calibr0636 3 роки тому

    this video actually made what pointers are more clear to me, thanks man

  • @serhiy2020
    @serhiy2020 3 роки тому

    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.

  • @mski0528
    @mski0528 2 роки тому

    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!

  • @wotchadave
    @wotchadave 6 років тому

    Really excellent video
    What I mainly took away from this is that a reference can be thought of as an instance of a pointer?

  • @akshaymanthekar1032
    @akshaymanthekar1032 Рік тому

    Thanks Man... Very well explained the concept of references!

  • @jdvd
    @jdvd 6 років тому +3

    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

  • @mustafaturk6870
    @mustafaturk6870 4 роки тому

    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.

  • @bartomiejgajda9815
    @bartomiejgajda9815 5 років тому

    That was really helpful! Thank you Cherno, very cool

  • @cetruonghai
    @cetruonghai 3 роки тому

    Best explaining ever I know! Amazing Cherno! I am one of your Patreon just want to donate ^^

  • @whalingwithishmael7751
    @whalingwithishmael7751 3 роки тому

    Thank you. Your videos are deeply appreciated.

  • @xinli9555
    @xinli9555 2 роки тому

    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.

  • @VarunPandey
    @VarunPandey 4 роки тому +1

    Nice videos, thanks! When do you prefer references over pointers? I always end up using references because it does the job.

  • @erawanthewise8227
    @erawanthewise8227 2 роки тому

    You're so good at explaining keep it up!

  • @polymakegames
    @polymakegames 3 роки тому +1

    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.

  • @pavanmadhyasta7743
    @pavanmadhyasta7743 6 місяців тому

    Perfect tutorial series, truly awesome

  • @master138
    @master138 Рік тому

    Thanks Cherno. very useful as always.

  • @onyinyechichukwuma689
    @onyinyechichukwuma689 2 роки тому

    Perfect example as always. Thanks for the series!

  • @ManpreetSingh-cs5kp
    @ManpreetSingh-cs5kp 3 роки тому +1

    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.

  • @jeongmooyoo8692
    @jeongmooyoo8692 5 років тому

    clear explanation, good wit. AWESOME

  • @mgking777
    @mgking777 3 роки тому

    The best explanation video for references very good thank you so much !!!!

  • @Fronzel.Neekburm
    @Fronzel.Neekburm 2 роки тому

    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?

    • @juniorcomsono
      @juniorcomsono 2 роки тому

      are you watching his videos on 1.5 playback? i'm even struggling on the normal speed lol

  • @teo-medesi
    @teo-medesi 4 роки тому +2

    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.

  • @user-bu4mt1sc2i
    @user-bu4mt1sc2i 3 місяці тому

    Thank you so much , your explanation is amazing 👍👍

  • @satellite964
    @satellite964 5 років тому +6

    This little 10 min video could've saved me so much pain back in 2016 when I was doing CS at uni. -__-

  • @interstellarj5218
    @interstellarj5218 4 роки тому +13

    I love your no-nonsense explanations in clear english! Please take my horse as payment.

  • @MaxwellAguiarSilva
    @MaxwellAguiarSilva 6 років тому

    Tks for your videos. Its help a lot.

  • @Konslufius
    @Konslufius 3 роки тому

    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.

  • @vincentm99
    @vincentm99 6 років тому

    4:04 the best explanation ever of function, thank you soooo much

  • @Superogobongo
    @Superogobongo 5 років тому +1

    Great explanation, thank you!

  • @EddieKnaz
    @EddieKnaz 6 років тому

    Love you man!! thank you very mcuh.

  • @Chevifier
    @Chevifier Рік тому

    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👏

  • @nathannlatimore7863
    @nathannlatimore7863 4 роки тому

    This is so helpful! Thank you!

  • @gavinxu1622
    @gavinxu1622 3 роки тому

    Really simple explanation and easy to understand!

  • @harshsinghi2142
    @harshsinghi2142 3 роки тому

    By far the best content and explanation on C++ !

  • @2khz
    @2khz 4 роки тому

    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

  • @jasonmathew33
    @jasonmathew33 7 років тому +17

    Thanks for the video! Are you going to be discussing data structures, algorithms and design patterns at all later in this series? just curious

    • @TheCherno
      @TheCherno  7 років тому +37

      Absolutely.

    • @angelojulioth3616
      @angelojulioth3616 6 років тому +2

      Yes, I want to see you cover those topics, specially, data structures and sorting algorithms. I love you Cherno!

    • @matthewe3813
      @matthewe3813 3 роки тому +3

      @@TheCherno when a comment to a comment has more likes than its parent comment

  • @izzy-frizzy3771
    @izzy-frizzy3771 3 роки тому

    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

  • @aMulliganStew
    @aMulliganStew 4 роки тому

    Syntactic sugar, indeed. Here's a fun little experiment to try at home:
    int *pi = new(int);
    int& ri { *pi };
    ri = 6;
    cout

  • @meh1672
    @meh1672 7 років тому +7

    You just explained my biggest confusion! :D

  • @HuyNguyen-fp7oz
    @HuyNguyen-fp7oz 4 роки тому

    love your serues a lot!

  • @user-qy2le2fo7r
    @user-qy2le2fo7r 3 роки тому

    讲的太好了,深入浅出!

  • @ccgb92
    @ccgb92 6 років тому +1

    5:58 OMG order of the operations! So that's why the (*value) is used instead of *value omg thx. always wondered that :O

  • @estebansalami6274
    @estebansalami6274 5 років тому

    hey ! your videos are awesome !!! could you make one on rvalue refference and the move constructor ???
    u r my hero

  • @rajmishra6769
    @rajmishra6769 4 роки тому

    Thank u for such an awesome explanation.

  • @narayanbhat3279
    @narayanbhat3279 4 роки тому

    By the setup seemed like he's gonna cook something:) Very nice video

  • @patrickwildschut5750
    @patrickwildschut5750 4 роки тому

    Dude I couldn’t find this all out, until now. Thanks!

  • @saulgoodman980
    @saulgoodman980 4 роки тому

    This was the besttt. Thank you