Thanks for watching! If you're after more, try and conditionally erase elements from your data structure while iterating over it, and make sure it works! Also don't forget to check out Skillshare - the first 1000 people who click the link will get 2 free months of Skillshare Premium: skl.sh/thecherno0820
@kadiyamsrikar95654 жыл бұрын
Hey cherno why don't you give your opinion on c++20 dropping support for iterators and adding modules
@battosaijenkins9464 жыл бұрын
@The Cherno, Yes THANK you for these kind of vids! I don't mean to sound like a complete prik but please, less of the dev reviews/opinions and more of the educational lessons of C++ like you used to upload back. You probably heard this a gazillion times but you are one of the best C++ explainers out there hands down~ Cheers.
@oracleoftroy4 жыл бұрын
@@kadiyamsrikar9565 Uh what? C++20 renamed the old XIterator categories (e.g. InputIterator) to LegacyXIterator (e.g. LegacyInputIterator) and introduced a bunch of concepts to more explicitly categorize iterators. Modules has nothing to do with iterators, did you mean ranges? That doesn't replace iterators, but gives you a nicer set of algorithms that work on anything that models a range. Iterators are still there and aren't going away as far as I can tell. Even if ranges eventually replaces them, that will still be several years off.
@kadiyamsrikar95654 жыл бұрын
@@oracleoftroy your are right mate but c++20 is trying to increase the capabilities and usage of ranges. Module system is added in c++20
@kadiyamsrikar95654 жыл бұрын
@@oracleoftroy you are right mate but c++20 is trying to replace iterators and increase the capabilities of ranges . Module system is added in c++20 just like other modern languages.
@admiralspyro97223 жыл бұрын
University: "As a CS student you will always have to learn the newest technologies." Also university: "Yea you gonna use c++-98, cause thats what the professor learned back in the day and he never bothered to update his lecture for 20 years."
@jpviscaino3 жыл бұрын
Shit, I was pretty annoyed that my current professor doesn't really code in C++20 (it's so good) but I guess it could be worse LMAO
@GalaxiaDeFavio Жыл бұрын
@Danilo lol that exist?
@Ruhrpottpatriot Жыл бұрын
@@GalaxiaDeFavio Yeah, like in the Linux Kernel who just recently switched over to GNUC11 after sticking to C89 for decades.
@user-ge2vc3rl1n Жыл бұрын
@@jpviscaino good luck finding a job that uses C++20
@corbinlenning35054 жыл бұрын
Love how he mentioned university using c++ 2003 but I was using c++ 98 in my university and i graduated last year.
@bobthemagicmoose3 жыл бұрын
Psh, we're using K&R c with nonstandard function prototypes (the project was something the prof did as a student 30 years ago)
@bennyc6553 жыл бұрын
lol, while we learn a language call Racket, which no body use nowadays...
@MrCleverOnion3 жыл бұрын
What year did you graduate?
@corbinlenning35053 жыл бұрын
@@MrCleverOnion July 2019
@jpviscaino3 жыл бұрын
@@corbinlenning3505 That's insane, my professor uses C++17 and I was already about to complain (C++20 has some great features), wow...
@saraswathishanmugamoorthy67514 жыл бұрын
I was recently given a C++ assessment for C++03, this was the first time a company interviewed me for such an old version. Seems like certain companies still have 20 years to catch up.
@muadrico4 жыл бұрын
I updated almost all code bases of all C++ projects in my company from using C++98 to C++17 in the last 5 years.
@badasahog4 жыл бұрын
actually 17 tho
@magicweaponr0724 жыл бұрын
As a JS developer learning C++, seeing the structured binding at the end made me smile. It literally looks the same, and in JS is called destructuring. Nice video
@mateuszabramek70154 жыл бұрын
Since TypeScript become popular, to JS were introduced many features from other languages because people from typed languages could understand JS easier and eg. node.js is written in c++. Than came ES6, ES7... Some implementations failed in my opinion like const, which is not really const when it comes to arrays or objects.
@magicweaponr0724 жыл бұрын
@MyName Here lol. A big chunk of today's web servers are run on Node.JS, entire backends are written just in JavaScript and JavaScript derived technologies. I'd say javascript is as real of a programming language as C, C++, Rust, C#, whatever. Just higher level.
@astrotecn4 жыл бұрын
@@magicweaponr072 nothing against higher level languages but javascript is specially garbage
@andreibade3 жыл бұрын
@@magicweaponr072 JavaScript is one of the worst languages ever invented, just like php.
@magicweaponr0723 жыл бұрын
@@andreibade well considering how nicely it's evolved and the ecosystem, and variety it's created, your opinion doesn't do it much justice, now does it? :)
@mattshu4 жыл бұрын
you make my self taught journey of c++ so much easier. Thank you so much
@ifracing2 жыл бұрын
hows its going the self taught journey? im currently in my 2nd month? i see its been a year for you now.
@epiram2 жыл бұрын
@@ifracing breh
@keris39204 жыл бұрын
As a side note, ++it is generally more efficient than it++. The postfix operator has to create a temporary under the hood in addition to calling ++it.
@keris39204 жыл бұрын
@Borgilian I say generally, because there are cases where that is not true. It is true, however, that ++it is at least as efficient as it++. It's not true that it++ is at least as efficient as ++it.
@sukhrajrandhawa51954 жыл бұрын
@Borgilian Using prefix is just good practice though. You should probably only use postfix in the cases where you need the temporary generated since that justifies it's use case. Other than that, you should always be using prefix whether the compiler will optimize the postfix or not.
@MichaelYoussry4 жыл бұрын
Note that the example with structured bindings will copy the elements. To iterate over a reference to the elements use: for (auto& [key, value] : map)
@victor_zsasz Жыл бұрын
thx!
@practicalsoftwaremarcus4 жыл бұрын
absolutely amazing video. Each video of yours make me love the language even more. I use it a lot in embedded systems and they way C++ elegantly interfaces with the hardware is simply beatiful .
@thestarinthesky_4 жыл бұрын
I would like to work in embedded systems too in the future :)
@practicalsoftwaremarcus4 жыл бұрын
Best topic ever
@thestarinthesky_4 жыл бұрын
@@practicalsoftwaremarcus Great! Which C++ framework should I know?Do you have any advice on being a professional in this field? What else should I learn except core C++ and standard library and data structures and algorithms in C++?
@sebastianzander874 жыл бұрын
Another good reason to use iterators in basic data structures (that you could access by an index) is to have iterators with different behaviors e.g. a reverse iterator (trivial), an iterator that gives you the next random element or that accesses the elements in a specific order or that applies some filter function.
@not_ever4 жыл бұрын
I feel kinda smug that my uni has made it all the way to C++ 11.
@LittleRainGames4 жыл бұрын
atmel studio uses c++ 11, they are getting you ready for MCU programming
@not_ever4 жыл бұрын
@@LittleRainGames We program MCU in C, Assembly and C++ throughout uni, but have never used atmel studio for any of that.
@robert12003 жыл бұрын
my university teaches us C++ 98
@zoriiginalx75443 жыл бұрын
C++11 is better than the new wacky standards anyway.
@ebukaezike93084 жыл бұрын
Me : What are iterators ? Cherno: Iterators are used to iterate . Me:....... Cherno: Sometimes my genius is ........ its almost frightening
@cp_2004 жыл бұрын
I can Feel You
@xephobia7954 жыл бұрын
guys i'm gonna be honest... my brain is my brain
@rawgame4 жыл бұрын
Additionally, would be really useful to mention about the usage of the reference '&' for the iterator it self. I.e. instead of using "for (auto kv : map)" - using "for (const auto& kv : map)" would eliminate unnecessary copies when iterating.
@PrinceGupta-jo8lo4 жыл бұрын
yeah, this is necessary
@TheMR-7774 жыл бұрын
True! I also use this technique to avoid copying
@navjan134 жыл бұрын
@Mattéo Rossillol @rawEngine's comment was regarding lthe auto at ine no. 40
@glitchgatsby42902 жыл бұрын
ooof, yeah, that sounds expensive with a bigger map
@glitchgatsby42902 жыл бұрын
@Mattéo Rossillol oh, right! yeah.. so you'd be able to write things like std::cout
@ptrblz16 күн бұрын
This just makes c++ so great, you can overload anything, even new allocator, although iterator implementations are present in other languages too but given the speed of c++ and all these possibilities along with custom typedefs makes it a creative playground where a well written code rewards you with great performace and memory usage. It really is something to explore and learn more about.
@NavjotSingh-dy4iu Жыл бұрын
We used turbo c++ in our college before we graduated in 2021. Stuff that has not been used since 1996. It makes the students hate this language. I really hope they update their system and their syllabus up to the current technology. Never had a lot of fun there 😅
@ShivamJha004 жыл бұрын
0:27 yea and mine uses Turbo C which was released in 1993 when C++ wasn't even standardized
@mr.mirror12134 жыл бұрын
Lol Indian problems boy (same here)
@codingsaroj184 жыл бұрын
yeah my school used turbo c++ in 8th class.
@kadblue20004 жыл бұрын
@@codingsaroj18 same what a nightmare! The mouse pointer stopped working halfway through randomly then you had to save the file and restart using the keyboard. Notepad is better than turbo c++.
@Rahulsharma-rg8ce Жыл бұрын
This is one of the best explanations of iterators I have seen, I was banging my head around google for so long! thanks
@aqezzz4 жыл бұрын
Another excellent video! I wish I had these when I was learning this stuff. Even though most of these are not new to me I never miss a single c++ series video because they are so well done. Keep it up!
@toast_on_toast12702 жыл бұрын
As a recent CS grad, I never quite understand when people say "my university used x language or version", because my university assignemnts (especially final year) were mostly generalized to whichever language you wanted to use. Aside from certain exceptions - for example groupwork, and my mobile apps course was taught in SwiftUI on a specific version of Xcode, for logistical reasons - this was the norm. Did/are other students experiencing a different kind of CS degree, perhaps more practical and less theoretical? Additionally, what is the merit of constraining students in this way?
@fuadcs224 жыл бұрын
Make a short video of typing and shortcuts
@arsnakehert4 жыл бұрын
I personally use a vim plugin in every other editor, pretty handy stuff
@nextrie4 жыл бұрын
Brilliant tutorial on iterators, Cherno. Always good to have such refreshers!
@rishitsingh66214 жыл бұрын
Great! I was waiting for a good tutorial on this. Thanks Cherno.
@cliffmathew2 жыл бұрын
Thank you for clarifying this, which helped me make sense of it right away: Iterators appeared in the language because not all collections can be iterated over by an index.
@sahilaujla81824 жыл бұрын
Just started my journey of c++ by your playlist....am really really excited 😃
@ZackSussmanMusic4 жыл бұрын
was waiting for this one!! Love this series, and that smooth sponsor transition
@raulyjimenez91672 жыл бұрын
This video is crafted overly well and i love it. Thank you for the thorough explanation of iterators.
@irfanjames6551 Жыл бұрын
You teach soo much clearly and go just one step deeper
@arthurmorgan9234 жыл бұрын
I am learning c++ with a book called C++ in One Hour a Day. And when i confuse, don't get something, i know where to go. Your videos are AMAZING. Hope that your videos can reach more people.
@ibrakap4 жыл бұрын
Yerini biliyorsun reis :D
@harounlouati6602 Жыл бұрын
Thanks a lot. I really like the way you explain the iterators. The examples are simple and clear.
@xiangli95883 жыл бұрын
Thank you for the 70+ videos and the 20 sponsors from skillshare
@3van6603 жыл бұрын
You are too good man. Thanks for this, to the point and easy to understand, no bs.
@sirenti93844 жыл бұрын
For those watching for a good reference book: C++ primer is the way to go(imo.).
@snokzor4 жыл бұрын
it's very academic and I didn't like the bigger exercises and it goes very (too much?) into depth at times but it's a good book, yeah.
@snokzor4 жыл бұрын
one of the better ones out there to really get into it
@snokzor4 жыл бұрын
it doesn't go into multithreading and some other stuff tho
@Arrow55874 жыл бұрын
My input is that this book is for those who are already familiar with programming and beginner to C++.
@rahulsriram62954 жыл бұрын
"Sam's Teach Youself C++ in One Hour a day" is the best!
@juanma_cello3 жыл бұрын
This video is still GOLD. Thank you Cherno. Really useful.
@pepehimovic31359 ай бұрын
My uni was C++11 last I took the classes. And I thought that was a bit outdated…
@brennethd53912 жыл бұрын
8:00 i would recommend you write ++it instead of it++ because its more efficient in iterators
@vivideradicator4 жыл бұрын
Excellent video, was worth watching the entire thing. Subscribed
@princekm59023 жыл бұрын
Iterators are used extensively in stl algorithms library.
@peter07023 жыл бұрын
watch all the c++ videos in a week. omg Cherno, you somehow look young->old->young
@Minty_Meeo2 жыл бұрын
I have never seen or heard of C++17 structured bindings. I love learning new things about C++!
@Yupppi Жыл бұрын
In a sense I felt like this was much more useful video for map than the actual map video. Or maybe I remember poorly. However I remember struggling with maps in 2018 or so. It was a terrible school task of STL containers where you had a nature park hiking routes with locations and you'd have to return the route with least elevation change between requested A and B. I'm still having nightmares from that, I just couldn't wrap my head around that. And another thing was nested maps... It was kinda funny to do the first C++ class in 2011 and the second right in 2018. A lot had changed but I had no idea, because even today the material for the first class is the same. The fundamentals don't change. So I guess I'd love to see more of those more advanced/complicated applications of these simple tools. Things that force you to think but also demonstrations of what's actually going on in there.
@blank-vw2sb3 жыл бұрын
10:47 My man, rhyming. "I wanna iterate through it, How would I do it?"
@ifelseprog4 жыл бұрын
For the video about iterators, an example about how it could be used for something different than iterating over a collection of element would be to iterate over a random class. Maybe you would construct with arguments about the range (min, max, number of values) and iterate through it, but the iterator would generate random numbers on the fly.
@michaeljburt4 жыл бұрын
Dude, you are a fantastic communicator. Far better teaching as compared with CS lectures that I've taken.
@NullLabs4 жыл бұрын
Awesome overview! keep up the good work!
@Markgraf_ON4 жыл бұрын
I'm really waiting for the exception in C++ class....
@michaelhernandez20753 жыл бұрын
I was told we are doing this is college because they have to show us the theory along with the way things actually work. You arent "supposed" to do certain things without knowing how they work first according to the colleges.
@seifsallam1434 жыл бұрын
I fuckin love you. I was just looking for iterators and didn't find your video about it. Seriously, without you I would not have become as good as I am right now thank god. If I could sub to your patrion I would. Good luck with your work boi!!
@Waseek69Ahmad Жыл бұрын
10:45 Cherno: I don't use CPP, CPP uses me.
@officialVIGNUM4 жыл бұрын
Expected to see operations between iterators, offsets and so on :)
@dustink.57784 жыл бұрын
Hey Cherno. Just want to leave some feedback to your videos: You are the BEST!!! Thanks a lot for your effort. You make it so easy to learn C++ and you are such a great character with always perfect hair :D!
@zoltanujszaszi4 жыл бұрын
Great explanation, as always! Waiting for the next episode!
@kapilverma26684 жыл бұрын
It would be great to have a video on static code analyzers and sanitizers like address/thread sanitizers, cppcheck, sourcemonitor, etc.
@ilyessouibgui34692 жыл бұрын
In @05:49 how he can search in the vector file ? what is the shortcut for that ? thanks
@NikhilAsawadekar3 жыл бұрын
can you please explain what's the mystery behind auto& at 12:39?
@ibrahimtouman22794 жыл бұрын
At 12:00, you can also use for(auto it = map.cbegin(); it != map.cend(); std::advance(it, 1)) {...}
@miguel119x4 жыл бұрын
3:30 STARTS..
@majedalshaikhi Жыл бұрын
You made my day and just got a new subscriber
@linternetsansfil41524 жыл бұрын
That's exactly the video I was waiting for !
@jesseburstrom59204 жыл бұрын
Note on Game Engine: I make my 'Game Engine' in Flutter/Node.js/Sql etc... I make it fully multi interactive say Yatzee full functions etc. Then i have idea it would be easy to replace the Yatzee with say Chess and if good game engine it would be more or less easy to implement. My real idea is that when games came about in the beginning most where full programs not much to backup change since each program is isolated. Forward Amiga came with operating system where games could use the operating system simplifying the game structure. Forward more things are given to the game engine so the switch between games made simple. My idea is that a good game engine provides all most important features so ease of new creation.
@Manjuju123 Жыл бұрын
Is it also true that the iterator reduces the number of implementations in the algorithm library? I heard it allows the algorithms to traverse on any container type.
@SumanthLingappa4 ай бұрын
I love your videos Cherno. I have a question Why don’t they rename “first” and “second” to “key” and “value” respectively? We can then have a cleaner code like “it->key” and “it->value” ? 12:49
@SumanthLingappa4 ай бұрын
Well this kind of answered at 14:27
@sachinpandhare87374 жыл бұрын
Last for loop for map should be like below for( const auto& [ key, value ] : map )
@sergio_mgg3 жыл бұрын
In my university we got taught Pascal. Never touched C++, but we learned Pascal... yeah not a single class of C++, because, you know... PASCAL
@vikbelthur4 жыл бұрын
Yes! I've been waiting for iterators !
@horanj.1022 Жыл бұрын
Please make a video of making a c++ class that's iterable and define all the required methods. Thanks
@coltonhill2724 жыл бұрын
Wish I knew about this 2 months ago. I had to write a compiler for class that used this everywhere. Normal when I write code, I already feel like a monkey on a typewriter trying to recreate Shakespeare. But after watching this, I think I need to burn and bury my code to atone for the shame.
@rida40022 жыл бұрын
speaking of c++03 we actually currently using c++98 and i disagree it's not a shame at all instead a wise decision , first starting from c++11 things really got complicated and if you don't suffer from some bottlenecks in older versions you'll find a hard time understand some of modern c++ features. it's always good to start with the basics.
@文源-h5k3 жыл бұрын
nice work. As a student,i think that analyzing comlicated STL template design would be quite interesting.
@poohshmoo98924 жыл бұрын
Im going to throw my 2 cents on the topic. I think the right question is not "What is iterator?" but "Why iterator ?" . Using for (or while ) loop(s) using indexing is actually random access order regardless that we (programmers) always ( like 99% of the time ) use the said for indexing only in one direction ... iterators are only sequential access order and can be used only as such ... in theory compiler may be able to generate faster code if using for iterator loop vs for index loop ... and that;s it about iterators ... implementation of iterators is next topic ... but again I would argue the more important is WHY vs WHAT
@TheMrKeksLp4 жыл бұрын
Iterators become way more important when using range checks as the compiler can't always proof the size of a range but ehen using iterators they can most certainly be eliminated
@soniamh88394 жыл бұрын
i enjoyed watching every second of this tutorial. Thank you.
@pxolqopt35974 жыл бұрын
iterators are cool and all, but what actually are they? im assuming theyre not integers, but that makes me curious and excited to figure out how to actually make one!
@koonhanong22673 жыл бұрын
auto is amazing
@ivanpolyakov57464 жыл бұрын
Hello! Great video! I think it would be interesting for you to make a video about how to implement a custom iterator for a custom STL compatible data structure (may be with some fancy algorithm). In the video you could touch something about template stuff and all these "using value_type = ", etc. Good luck! Looking forward to the new video!
@victorhugomagalhaes63704 жыл бұрын
Please, make a vídeo about Vector vs List arrays. Thanks for sharing your knowledge with us.
@AraAra0644 жыл бұрын
It depends on what you need to use them for. Vectors: +Good at sequential access and random access +Stored as a block in memory so not much cache misses -Not good at changing the size of the arrays unless you use the .reserve(x) function Lists: +Adding elements doesn't take much time unlike Vectors -Takes a long time to go through the list since the elements aren't stored directly next to each other in memory (cache misses) That's all I can think of right now, I hope I helped.
@victorhugomagalhaes63704 жыл бұрын
@@AraAra064 Thanks a lot. Another question, list is better than vector to sort data, right? I'm developing a Heuristic, and I need sort a lot of data, delete and create. I think list is the obvious choice.
@AraAra0644 жыл бұрын
@@victorhugomagalhaes6370 If you were just sorting, I'd go with vector. But since you need to delete and create stuff, list should be fine. I'd probably test to see which one is faster just in case because I'm not exactly a pro at C++.
@IndividualFreedomNet2 жыл бұрын
@@victorhugomagalhaes6370 It's not so easy to know in advance if list or vector is better even when you work with lots of data and you need to delete and stuff. So as AraAra said testing both alternatives is the way to go if it really matters, e.g. for performance. It depends a lot on what your data actually is and how well it fits into caches, etc. I would recommend to start with what feels most natural to use for your data (probably list if your data sets are large and you really sort/delete/create a lot) and not worry much about alternatives until you really need an alternative. Because even if vector would be required performance wise (for large data sets) it would be better in many cases only if you take a few other measures like properly making your data cache friendly (e.g. aligning data) and for a real-time application you would even need to do exotic stuff like controlling releasing of memory. And then things get a lot of work...
@etiennewijler68304 жыл бұрын
Thanks once again for a highly informative video! Is there any significant speed difference between regular indexing and iterators on ordered data structures? For example, when I have multiple for loops running over arrays/matrices, would it be faster to use iterators and de-reference pointers or to obtain the values by the usual indexing?
@Xxp0r4 жыл бұрын
13:33 if I was to use `auto& kv : map` instead, is there a performance benefit by taking `kv` as a reference rather than a copy?
@muadrico4 жыл бұрын
Usually yes, it depends on what you have to copy.
@masheroz Жыл бұрын
If it's a map of key value pairs of ints, then there is no difference. If your keys or values are large (eg a string, or map) then take by reference.
@stepsvideos Жыл бұрын
std::vector values = { 1, 2, 3, 4, 5}; error C2552: 'values' : non-aggregates cannot be initialized with initializer list. I'm beginning to dislike Visual Studio (2008 ). Maybe a newer version would work, but I am working on a program targeting Windows XP.
@KaruniaSentosa4 жыл бұрын
I'm looking for this tutorial! Thank you for making this!
@issaissa9554 жыл бұрын
Thanks. I Was Looking For This
@thechhavibansal4 жыл бұрын
why do u use auto&key = it.first like it can be simple auto key = it.first y use the '&' sign ?? please explain
@mcyz78714 жыл бұрын
same question, does it try to avoid copy?
@Bodyja4 жыл бұрын
He's making a reference to the value of the members of the std::pair pointed by it. This is a way to use more convenient names instead of the first and second of std::pair. On modern C++ you can use this syntax: auto&[key, value] = *it;. Its the same, but cleaner
@jasonleo4 жыл бұрын
auto& is auto reference, don't copy the value, auto on the other hand will if the value itself is not reference or pointer. If you don't want modifying the value of auto& referenced to, it's better to add const to it like this: auto const &key = kv.first;
@nauq3024 жыл бұрын
Becuz sometime copying is costly (eg std::string) so he wanna avoid it by using ref
@jip961754 жыл бұрын
Thank you. I learned a lot by watching your channel
@thehambone14544 жыл бұрын
Thank you for still making programming tutorials (and hopefully more gfx!). I was afraid you wouldn’t after your reaction super stardom!
@brunomiranda22394 жыл бұрын
Very nice video! As a junior developer it helps me understand my colleagues code xD
@universalponcho3 жыл бұрын
This was brilliant.
@huske164 жыл бұрын
I was just having a problem with this, thank you so much!
@1973Washu4 жыл бұрын
I am going over this area right now at university. So this is an especially useful tutorial.
@MicheDépeint2 жыл бұрын
For school I have to compile in C++ 98 😅 Really useful stuff! But i'll remember this video after my class.
@jimyang88243 жыл бұрын
Nicely done! Thank you.
@akiyprum2 жыл бұрын
Thank you so much for this video
@simplevc29803 жыл бұрын
yup, My Uni is using C++03 if im not mistaken, and I teach my friend to AT LEAST C++11
@KurtQuad4 жыл бұрын
Time warp - I remember trying to code a card game in Turbo Pascal during computer science in the year 1986/87 I believe. That was not easy at all.
@EclecticVibe4 жыл бұрын
Hey @TheCherno thanks for another great video! Can you also please make a video on different containers, and algorithms in c++, which are most commonly used.
@danielvindhjarta28514 жыл бұрын
How does kv in "for(auto kv : map)" handle the string? Does it make some sort of reference to it or does it make a copy? Because I've seen people use both auto& and auto&& as well and I'm wondering about the difference.
@IndividualFreedomNet2 жыл бұрын
Question is old... but for future reference: - for(auto kv : map) makes copies of the values (which is fine for very simple types) - for references you would use auto& (and you would typically prefer to use this) - auto&& does not make sense in such a simple example (besides creating confusion) as it results in the same as auto& (so technically it works). It is a more advanced form of references and is used in a few different contexts, the main being used with rvalues (for moving objects instead of copying, or for types which are rvalues like std::vector because they are proxy types) or they are used as so-called forwarding or universal references (which generically work both with rvalues and lvalues, that's why in this simple example it results in the same as auto&). You often see auto&& as parameters for generic lambdas.
@fahimtoufiqulislam92644 жыл бұрын
turn off the auto focus on your camera when you are using a tripod or the camera is steady on it's own. it helps with that random focus loss problem
@mahirajijashu2 жыл бұрын
Can anyone tell how can we set the color theme in visual studio like shown in the video ?
@gurmeharsingh14854 жыл бұрын
cherno literally saving me through online school
@mateuszabramek70154 жыл бұрын
Thematically next would be ranges.
@dibyaranjanmishra42724 жыл бұрын
which book do you recommend for learning intermediate to advanced c++
@mateuszabramek70154 жыл бұрын
Generally don't use books when it comes to programming languages only up-to-date documentation / tutorials etc. You can get frustrated fast if you try to solve problem, that doesn't exist in the current language version.
@mateuszabramek70154 жыл бұрын
However there is one worth to mention c++ book I know for intermediate "C++ Reactive Programming" by Peter Abraham it's generally about available in many languages library called RX here rxcpp. It really helps when you handle multiple asynchronous actions and with no blocking and lazy code you want to solve the problem.
@emilyy-dev4 жыл бұрын
> If you're getting compiler errors (which is, quite common) None of y'all can imagine how hard I laughed at that.
@kingoftennis94 Жыл бұрын
Are they just picking python syntax and slowly adding it to c++ ?