Definitely watched the whole video and I'm going to watch it again. You are the best teacher I've encountered yet. Very concise and to the point. Thanks for all you effort.
To anyone learning how to program. THIS IS NOT FOR YOU. This brilliant video is for revision or swapping from one programming language to another. If this is the first time you're learning to code, you will most likely get lost. This is covering everything you'd do in an entire year squashed into 1 hour. Don't recommend him slowing down. There's 100's of tutorials where they go through slowly and carefully. This is one of the only ones that takes it at a great pace for many of us already familiar with coding and just want to swap over to C++. We need this man's brilliant work at this pace
Derek I like your video, although i am green for C++ programming and new, but i am interesting in this subject. Thanks for your videos that are of great interest.
Video took me over 10 hours collectively to process all the information, writing all the code and adding comments for me to understand in the future. Beautifully done and explains everything wonderfully. Brilliant job.
Thank you. I'm trying to teach myself how to code as I want to get into the industry. I'm 22 going 23 and want to do an apprentiship in IT. Thinking of watching your "html 5" video while I cement what I've learned from C++.
Thanks, I needed a quick review. Have been coding in Python, and had forgotten parts of C++ even though they're quite similar. Just the right speed, not boring at all.
This channel is pure gold. I love the fact that it's purposefully orientated for people that already know how to code in X language. That's the type of content that said people (like myself) are always looking for, and you sir provide some quality content! This video is almost 10 years old and yet I've not seen anything like it so far. Awesome job!
I watched the whole thing and was asked to make a post saying so, so here it is. A little feedback: - For a person who may be brand new to C++ or programming in general, you went way too fast. - For a person experienced with programming, but new to C++, you went just a little too fast and provided almost enough supporting detail to each of your points. - (In my case) For a person with experience programming, and some C++ experience who is looking for a refresher or to fill in minor gaps in knowledge, this video was SPOT ON! Basically, this video was EXACTLY what I was looking for, and I will be bookmarking it to refer back to in the future! -V.
Can confirm as person “experience with programming but new to C++” I got it for the most part but some bits I hadn’t seen before were slightly too fast.
You're not supposed to learn all C++ in 1h. But because the video goes fast, I can just re-watch some parts a few times until I've understood how it works while I do tests. Just don't expect that watching a 1h video a single time will make you a programmer.
Vito Morlino - I moved from PHP, Java, etc to C++ for my project, whatched about 15 vids and i started to create my own logic in C++ and write my code from 0 to 100% without help of any other example on the internet. You must have basic principle how structure works, and you can gues later what you should do if you know the principle. EG: If you learn how to start and operate with remote your old TV, you can explore and fast learn other new and more complex remote controller with teletext and smart menus. And if you got it, next day you can wonder in your head how remote sending signals and you want to look inside, you find the chip, than you learn how to program your own, than you start to use microcontroller and software, and learn one by one. I started from Hello Word in HTML writed in Notepad. Now i am expert in PHP, C++, Pyton, Java... i have my own Libs, i print my PCB, soldering parts, creating my own modules, controllers powered by complex logic and algorithms... Not to easy, but its easy if you want to know!
As for me it was easy to watch and understand, because I've jumped across few languages learning about them, which gave me fundaments to proceed with further learning. About basics of programing I've learned from Python, but later I've jumped to Java and some C# which gave me more stuff like virtual classes/methods, abstract classes and intefaces, which gave me better understanding of OOP. If it comes to C++ pointers and references is hardest part to understand. Of course, There is no way to learn how to fully use C++ because there are heading files and preprocessors which are ommited in this video and they are quite crutial to understand C++.
One of the greatest blessings to the programming community. Haven't used C++ in about 3 years, but it all came rushing back. Great format, and I love how quickly, but succinctly you cover the entire language. Thank you.
at 46:23 Both Pointer and Referencer can be used equally . Both aren't need to be initialize at declaration of variables. In case of dealing with the reference we could used same as pointer does is shown below: void actYourAge(int& ageRef) // here, ageRef is a reference to the myAge and that is initialized whenever this function is called. { ageRef =39; } int main() { int myAge ; actYourAge(myAge); cout
@Peterolen myAge is a variable and ageRef is a reference that going to initialize whenever that function is called. I supposed to say that, we no need to initialize the reference/pointer at the time of variable declaration in regards to his explanation.
Just watched the whole video as a refresher on C++ for a job interview after not using it for at least 2 years. It's freaking awesome! Great job condensing all the necessary into 1 hour while still keeping everything clear and easy to understand. Nice how you explained inheritances and polymorphism while solving the diamond problem at the same time. Thanks! I'm going to check if you have more videos that goes deeper into object oriented programming because if it's the same format it will definitely be a great refresher. A++ definitely recommended for experienced programmers and people who have experience with C++ but needs a refresher!
String part: 25:40 1st he did : string wholeName = yourName.assign(yourName); The right way is : string wholeName; wholeName.assign(yourName); 2nd he did : string firstName = wholeName.assign(wholeName, 0, 5); \\It will actually do is cut out the first 5 charactors from wholename and replaces it's data with what they cutout and equals with firstName string variable. The right way is : string firstName; firstName.assign(wholeName, 0, 5);
All the people who have never used C++ before were stumped after the first 5 seconds. All the people who came here knowing C++ thought it was fantastic because they just realised they also knew the basics...
Came here two years after I watched it. Now I honestly think it's a poor video factually, and it implicitly teaches very bad habits. The content is ultra-basic, it's not even funny.
I switched from C to C++ and this video was just right. I think that for anyone that's familiar with basic programming, this video is also great, except for pointers, that was a bit fast. As other comments suggest, it's not for new programmers. But as for me- it was brilliant!!! Precise and to the point. Thank you.
"Functions or methods. Same thing, different name." THANK YOU. I am so sick of the coding elite complaining because I use the word "Function" when I'm talking about "methods". Worse yet are the VB.net elitists who try to rip me a new one when I refer to VB.net "modules" as "functions". THEY MEAN THE SAME THING, PEOPLE! Anyway, thanks for the awesome video and sorry for the rant. You rock, Derek!
Christopher Pilcher It is all just jargon. That always irritated me as well. My goal is to help people learn and not to try and make myself sound smart :)
if ( it's the first time for you ){ "YOU WILL GET CONFUSED"; } else { "YOU CAN WATCH IT AND RECOVER WHAT YOU LEARNED"; } this video is for those who want to recover what they have learned and forgot
There are four links in the description above. I am experiencing issues with two of those links: 3 -- How to Install C++ on Windows : th-cam.com/video/SykxWpFwMGs/w-d-xo.htmlm47s 4 -- C++ for Beginners : th-cam.com/video/DamuE8TM3xo/w-d-xo.html Link three leads me to a video titled: Prolog Tutorial, not a video about installing C++ on windows. Link four leads me to a video titled: Install C++ & NetBeans [for both Windows and Mac], not a video on C++ for beginners.
15:05 I think it's better think think of arrays as lines, to squares to cubes, and each array within each array is another coordinate: 0 1 2 3 0 [A][A][B][C] 1 [D][A][B][C] 2 [H][Z][B][C] 3 [A][A][B][C] arrays[2][3] = B. I think that's a bit easier than boxes in boxes in boxes in boxes, even though that is what they are, this is just another way of looking at it.
i can give you an easy example. simulate a movie theater where each theater is composed of different sections and each section has a certain amount of rows and each row a certain amount of seats... that right there could easily be a 4d array..
if you want the real reason for 4 dimensional arrays it is this: if you use Euler angles you lose one degree of freedom on each axis: "Main reason games use quaternions is because they represent rotations almost as space-efficiently as Euler angles, without suffering from Gimbal lock. Gimbal Lock begins when any Euler angle reaches a rotation of 90 degrees around any axis: you immediately lose a degree of freedom. Quaternions address this issue by adding a fourth dimension. If you stuck with Euler angles, you'd have to restrict one axis to never rotating more than ~89 degrees."
Hello, Derek. Can you please add some notification on your video about the fact that you will be covering C++ legacy code that is simply there so the old code would still compile? You are talking about things like new and delete that are deprecated and c++ features only because legacy reasons. This is not how you should write c++ anymore.
I have an exam on C++ today. If I hadn't found your video yesterday, I wouldn't have taken the exam today. Thanks a lot man........massive respect for your patience to create this video.
I'm absolutely impreesed. To be honest, I didn't think you could do this. I wasn't expecting such an amazing video. I've been programming in Java and C# for some time now, and I wanted to learn C++. This video was perfect for me. I still have a couple of questions, though: 1) Why do you sometimes define your methos inside a class, such as: class Animal(){ public: void makeSound(){ cout ...} }; and, other times, you define it outside the class, such as: class Animal (){...}; Animal::method(){ ... } 2) Also, why do you sometimes use the "new" keyword and other times you don't. Like in: Animal fred; vs Animal* pCat = new Cat; Thank you so much for this amazing video. Best regards.
Not sure if he explained it (still watching the video), but to answer your questions: 1) The first Animal you created has "implementation" and "declaration" defined all in the same place. The second one separates "implementation" from "declaration". The second approach is common in C and C++, as it is used to get information of code without actually showing the code itself (this is required when you are using other libraries due to how the compilation process works in c++). Typically, you would separate implementation from declaration via header(.h, .hpp, etc) and source (.cpp, .c, etc) files. So, in the header file you would just declare signatures of everything, then in the source file you would actually implement all of the signatures. It's very verbose, but very useful. 2) The "new" keyword is used differently in C++ than it is in languages like Java or C#. You are actually dealing with two different memory places in C++, the stack, and the heap. You need to understand and watch them closely in order to prevent subtle bugs/crashes. So, when you write Animal animal; you are creating an animal instance on the stack. When you write Animal *animal = new Animal(); you are creating it on the heap. Definitely worth researching.
Nice. Thanks for answering. I suspected the separation of both declaration and implementation was for that very reason. I just didn't want to assume it. As for the stack and heap, I have no clue what those are, so I will have to study them. Thank you for pointing me in the right direction.
I think he was demonstrating creating functions and constructors INSIDE the class, and also showing it is possible to create using the scope operator outside the class.
In simplistic terms the stack is a memory model where your local automatic variables (static variables) (i.e. the standard variables you use like int num1 or string userName) and your function calls are stored. It has a first in last out (FILO) pattern, meaning if three functions are called sequentially, then they are "stacked" on top of each other, so to speak, and the first one called will be the last one removed from memory. In other words the third function called will be the first one to be deallocated from memory (when its scope has ended). Then control will be handed back to the second function and when its scope has ended it will deallocate and hand control back to the first function called. By contrast the heap is where dynamic memory goes. Dynamic memory has no pattern of allocation/deallocation like the stack does. Heap variables also have no variable names the way static ones do and thus is the reason for having the "Animal* pCat = " part. Since dynamic variables have no names associated with them, the way you access them and keep track of them/use them is to create a static pointer variable (which does have a name "pCat") that points to the nameless dynamic variable. Pointers are just datatypes made to hold literal memory addresses for situations such as this one. So by "pointing" to the dynamic variable, the pointer pCat really is just holding the variables heap memory address as its own value. There are some rules on how you use pointers but it's basically just a bridge between the nameless dynamic variable and anything trying to access that data (e.g. you the programmer). Now remember heap memory is not automatic meaning memory isn't allocated and deallocated automatically based on the scope of the variable. This is where the "new" part comes into play. 'new' means allocate and 'delete' means deallocate on the heap in C++, and they must be explicitly expressed in the source code. So here, the programmer tells the program to allocate memory on the heap for one variable of type Cat, then store its memory address in a static pointer variable (on the stack) called pCat so that it can access this dynamic variable later. The keyword new with an assignment operator (=) automatically returns the address of the memory it allocates. The "Animal*" part is just the datatype of the pointer variable pCat. The '*' signifies that the declaration is a pointer, and the 'Animal' part signifies the type of variable it will point to i.e. that the address pCat will point to is of type Animal ("new Cat"). I'm assuming here that Cat is a class inherited from the class Animal and thus a pointer of type Animal can point to objects of classes derived from animal (Cat objects). This is a feature of polymorphism. But that's pretty much all there is to it. Heap memory is different from stack but the common ways you use it is very similar to regular variables, minus the use of pointers and the keywords new and delete. Now the biggest thing about heap is that you the programmer must deallocate the memory (delete) when appropriate because otherwise the memory will persist and that is no good. Hope this was clear
So i'm a PHP developer that converted to Node.JS and needed to pickup C++ for making Node.JS modules.. I must say after 2hours and 20min. /you do the math/ this actually make hella lot of sense. And was easier to absorb than watching 128 episodes of "learn C++ - the slow and tedious way".. Thanks!.
Moronicsmurf Thank you :) I thought it would be a good idea to make tutorials for people that already knew how to program in other languages. I'm glad I could help. I'm planning on making a NodeJS video very soon. Great framework!
yeah the big pit falls i have when teaching top down coders in node.js is to mind the asynchrounous parts of the language and framework.. it just doesnt dawn on most of them that everything tends to be non-blocking. ;)
Moronicsmurf I get that. Before Node I thought I'd be a PHP guy forever. That ship has definitely sailed. I still do a lot of work with Laravel though. I can't wait to make that video.
hehe, so now.. step into this..LinuxCNC uses Python for UI, but C++ for drivers and HAL overlay. By utilizing C++ as module language for Node.JS you can expose most of the application to a 3rd party, and have the UI locally react when the remote client on say a webinterfaced phone clicks a button and move around a 2 ton machine. I needed these 2 crash courses (just watched your python variant and made the first connection literally 5min ago) ;)
I watched the entire video. I'm in college for programming and all of my previous classes were for java. All of the sudden this class wants me to program in c++. This video was a life saver. I now know all of the basic key words and structural differences. Thank you so much!
Watched the whole video and enjoyed refreshing some basic concepts as well as the C++ specific part about pointers/references etc. Loved how you used them when demonstrating classes explaining encapsulation and polymorphism. Really helped a lot to finally get these C++ things in my head that work kinda different from Java. Also saved a lot of time thanks to the pace you chose for the video :)
Just watched this as part of my exam revision for tomorrow, great video, helped me understand polymorphism and virtual functions more than anything else has and was super helpful in remembering some bits of the language i had forgotten, thanks :)
Watched 'till the end. I have a Introduction to Programming II exam in about 30min, it covers C++. I have done all the studying I can, confident I will do very well, this video was excellent revision. Thank you for making it :)
Not sure why DB suggests that to create a string in C you'd do: char name[] = { 'D' ,'e' ,'r ', 'e' , 'k' '}; when he knows full well that char nane[] = "Derek" or char *name = "Derek" works equally well in C.
The multi-dimensional char array defined at 15:10, although it works in your example, is wrong, or at least very misleading. `myName[5][5]` creates an array allocated to hold 25 items, which you can visualize as 5 "rows" and 5 "columns" of characters. If you want to use it like you do in your example, the array should be defined as `myName[2][5]`.
Just finished watching and I don't think where else I would find such an in depth tutorial in only an hour! Been doing programming for about 6 months now, starting with Python, then PHP and JS and finally Ruby - really thought I would stick to dynamic scripting languages and I feared going into languages like Java or C. Then, someone told me if I don't want to learn C, I could try C++ or C#, since they're easier to learn than plain C, so that's why I ended up here. Thank you for this amazing tutorial! C: (hehe, get it - it's a smile that contains a C because C++? Yeah no, I'm bad at puns.)
TuxxedoCat Thank you :) I'm glad you enjoyed the video. I personally agree that you can skip C and go directly to C++. Once you understand how OOP languages work you'll find that they are easier to deal with with complex apps.
Hey man, that pun was amazing. I'm going to be honest though, I didn't notice it until you pointed it out. But in this case you should of put this lol, "Thank you for this amazing tutorial! C++:")
I watched the whole video. You simply cant teach c++ in 70 minutes. The things that make c++ stick out form other languages are fine details that you need to spend time studying and understanding. But, I think this video covers basic programming in c++ very very well. I don't think this video was made with the intention of making you a senior c++ developer (I have more respect for Derek than to say that), this is made to teach you how to program in c++. with the knowledge in this video you can make most algorithms and simple programs. This video is what you want if your a [insert language name here] developer and want to branch out to c++. I highly recommend this video.
Billy Clay Yes you are absolutely correct. It is for current programmers that want to see the syntax differences between C++ and a current language that they know. I have covered algorithms for Java already and plan to do the same for C++ ASAP :)
Excellent review for old time C programmer who has done tons of C and some C++ in the past, definitely too fast for a beginner. Minor correction around 12:42, if you leave the "break" out of a switch statement, it doesn't "check" anything further to see if it matches (as you stated), program flow just knows it hit a match already and continues executes all the statements in the switch statement until the program flow either hits a break statement or the bottom of the switch statement - it is called "fall through".
Thanks Derek Banas. I got a C++ qualification 20 years ago and promptly forgot it all. This primer was perfect for resurrecting my forgotten knowledge.
if you wanna learn c++ i recommend reading a book. you can learn how to use arrays etc... by watching videos but c++ is a very technical language. where the important thing is implementation, especially the area of resource management is imperative to understand techniques such as RAII. for beginners a good place to start with is reading starting out with c++ from control structure through objects. that is the best book for beginners . and it goes as far as working with trees. when you are more advanced. not just in terms of coding but theoretically as well. read any of bjarne books. that book alone will keep you pre-occupied for a while. and another series of books that is amazing, but more concise than bjarne's books. is the series of c++ books written by scott mayers.
i have saw a video stating C and C++ are two completely different things people get confused about thinking they are the same so idk how i feel about starting on C i want to create video games and everyone tells me to learn C++
Gort Newton Hey man i have never looked into any dev forums before, they have so many answers i would have looked onto youtube for instead. Big THANKS for the tip!
It was this video that made me first want to learn to program. There are people saying this isn't for beginners, and obviously when I didn't know how to program I was lost, but it was really nice to have this pop up in my recommended. My life changed after this. Thank you for your contribution to the community.
This video is not for beginners, this is for someone who already has small knowledge in this language and wants to repeat some stuff :) As beginner you need to watch more detailed tutorials... and if you want to learn one language in one hour.. just dont :D
I watched the whole thing! This was by far the most efficient "I know how to program but want to specifically learn C++" video I can imagine. Thanks you so much!
It was very informative, since I come from C#/Java/Vb and I am now getting into hardware developement and pure asm is quite hard. Do you have a video online where you explain templates for example? didnt find one yet
On a super legit note, I've read countless books, watched countless videos. This video, although fast, has helped me more than anything. It's to the point but you still understand what he is doing and he explains it without too much depth. I enjoy the video, thank you!
You are going a bit fast but that's the beauty of youtube videos - I can watch them as many times as I want :) Great explanation of polymorphism and virtual functions and all of that. Are you thinking about making these about C#?
Derek Banas Great! Appreciate your work very much. I can see how much you put yourself into these tutorials. It's simply beautiful. Do you have a degree in Computer science or something like that?
I watched the whole thing in several sessions during one day. It was a great conversion video. I was a Java programmer for years before I retired and now I mess about with ESP32 MPUs and Linux and Web sockets to make "devices". You have helped me understand the differences in the cultures of JAVA and C++, especially where the terminology is the same and the meaning is different (Polymorphic :)) Thank you.
I'm a complete C++ noob but for the last couple of years I've been using Unreal Engine's Visual Scripting system. So I came here to learn how to code and I have to say I could follow along and understand almost everything you showed. My mind was busy translating written code to a "visual" format though, which I found amusing. Anyway you did a great exposition, C++ is sexy AF.
You really need to explain more. I kept on asking "Why?" and "Why?". You only say "We're going to do this." Not "We're going to do this *because* ....." Why are we writing "#include
Alaskafish I'm sorry, but this tutorial is meant for people with programming experience in another language. If you are starting out in programming check out a Python tutorial. C++ is a terrible first language.
iostream is short for input output stream without it you cant use cout or cin commands, if you dont know what int main() is then you probably should learn python first
I imagine you might be taking an intro to programming course or basic computer science course that starts you off in C++. Like Derek said, this can be difficult for some people. I would recommend getting a foundation for understanding some of the concepts of high level programming from sites like codecademy.com. You'll pick up a lot of general knowledge that you can apply elsewhere.
Derek Banas I'm attending columbia college and my first programming classes visual basic and java and now I'm in my third c++ class. I don't think they teach python at least I haven't seen the class in the list. We're working with linked lists this week, yikes!! lol good video btw.
I absolutely love this video. I have been coding in java for years and want to learn C++ now and with this video, I don't have to sit through 2 hours of what a variable is, I just get a quick demonstration of everything going on that I need to know to get started. Thank you so much for this video
it's really for people who have a basic understanding of how programming works. A lot of languages boil down to the same principle. Once you understand principles, you can sort of see what's going on in any language
I've been taught the C language in the first half of the first year at the university. now I'm preparing my self to learn the C++ in the second half-year. This tutorial sound to be very helpful. Thanks.
I watched it all as revision for my exam, very helpful for remembering syntax etc. Especially as I have 4 different modules I'm studying at the moment (all with different languages). The languages all seem to just blend into 1 thing after a while, which is not good obviously! lmao
+Harut Rehanyan Thank you :) This is the synatx or rules on how to do all the simple things with C++. It is like learning how to say a few thousand words in a spoken language. The next step is to focus on how to turn a problem into a programming solution. I made a tutorial called object oriented design. It is written in Java, but if you worked through it while translating from Java to C++ I think that would help you dramatically. Use the code here as a cheat sheet.
Derek Banas I don't know java, this video is basically all the programing I know. Should I learn java first then watch the video? If so, do you know any good places to learn java?
Derek Banas Oh, alright... I guess I was wrong in getting into c++ first... Ok so ill start learning python ( im guessing you have videos on it) . Thanks for the awesome help! I cant tell you how much i appreciate it!
I watched the entire thing. C++ being my second programming language i found this very easy to understand and feel like i have a fairly good understanding of the language now. There were a few things that were a little under explained but that is to be expected when covering so much in so little time. This video is excellent. Though, if you are new to programming this may be frustrating as it is incredibly fast paced and expects you to have at least a minor understanding of fundamental programming terms and ideas. But other than that, great video, thank you and keep up the great work!
Learning syntax is easy, and learning all the rules for the syntax takes a bit of practice, but the hardest part is actually getting the program to do what you want it to... The theory...
/* You Are Doing Your Video So fast */ #include #include using namespace std; int whyidontunderstand(){ char Reason = 'Becase You Are Doing your Video So Fast'; const double noteofvideo = 1; char GradeOfNotUnderstanding = 'A'; std::cout
+Conex Xenon I did that as a refresher, cause I haven't used C++ properly since the late 90s so I'm hopelessly behind on new features. Got to recursive functions then I feel asleep :D But this guy, he sure is understandable on 2x, unlike most people =P
English speaking people say "Crete" when in Greek it is pronounced "Kriti" or "Rhodes" when the Greek pronunciation is more like "Rodos" (IPA: roðos). Why do you have to get the french pronunciation correct for Euler? :-) Because it is a name of a person? Like Pyotr Tchaikovsky? :-D It's called "anglicisation".
+The Nature of Reality If your native language is English? I doubt that. And that applies to others as well. French people pronounce named in a french way, German people in a german way and so on. The name "Eugene" (first name) is not pronounced "oigene" in USA for example. We have to accept that some people say "Florence" when they're talking about the Italian city "Firenze". For the record: My native language is not English. And I pronounce Euler like it should be pronounced (and you suggested). :)
+Jeff Merlin You're confusing different languages with pronunciation. We don't say "Firenze" because that's the _Italian name_ for it. If you were to say "Firenze" instead of "Florence" you would pronounce it just like the Italians do, because that's how you pronounce it. It's the same with people's names and "special" characters like *Å, Ä, Ö, ß*. Just because *ß* looks like a *B* doesn't mean that you pronounce it like a *B*.
Hey Derek, just wanted to let you know that I watched this video from start to end and it was very informative, insightful, refreshing, and moved at a great speed. I haven't learned about classes in class yet, but will be shown how to use classes soon, this was a great way to get ready for that. Along with that, this was a nice review session before my exam on Tuesday. Thank you for your efforts. Great work!
Great amount of information here.... BUT I personally believe that you went through some of it a bit too fast, leaving us old school RAW "C" programmers" gasping for breath. Example - When you got to polymorphism I got really lost, despite watching it several times. The concept was "sortta understandable" but the application lost me.... Please do some more showing how classes can inherit from super classes etc, so we "nerds" can understand how that works at a code level. Keep up the good work.....
I watched the whole thing as a review for my upcoming C++ final. It was WONDERFUL! amazing video... really helped me. My professor moves so fast in lecture and the screen is a little hard to see so having this right in front of me and explaining step by step is amazing. Thank you!!!
If you are new to C++, I mean very new. Dont watch this. This video is really awesome for revision. But, it only gonna make you frustrated if you are new to it. I freaked out before when i was watching it couple of years ago, Now when i know C++, watching it makes me feel refreshed since my mind is full of python now. conclusion = I really really really dont recommend this video for beginner. Go watch one with long explanation.
make mine sweeper in the debug window using characters to represent the grid, look up everything and anything you don't know and plan everything out on paper first.
+jesus bannanahammock Double check your opening and closing brackets. Cut the code down to just the statements that use rand and it will be easier to find the error. I have a link to the working code in the description to help as well.
Derek Banas i checked every piece of whatever you typed and copied it. still, getting the same thing. according to the forums, for some c++ compilers, the #include is alreasdy included whereas not for others. im using code blocks c++ console application.
+jesus bannanahammock I have heard that some people have trouble with Code Blocks. Maybe try Sublime Text because if Code Blocks is causing issues it will probably continue to. In this tutorial at the 1:30 mark I show how to install the C++ compiler you need th-cam.com/video/SykxWpFwMGs/w-d-xo.html
Derek Banas is really good at c++, I think if one watches this video 2-3 times, he will be able to face interview for C++ confidently. Well done Derek!
I would say that function and classes are easy but writing an application with c++ compared with other languages is much tougher especially the abstract stuff in c++ is nuts
There are other languages that are much harder to learn then C++. I personally think if you are new to programming that it is better to start learning with a language that is geared for beginners. If my first car was a drag racer it would teach me the importance of being extremely careful while driving, but it might kill me. Likewise if a beginner decides to learn C++ first they may grow disinterested in programming which in effect kills what could have been a love of programming. It is just as easy to start with a language like Python and use it to learn syntax, algorithms, object oriented design, etc. and then easily transition into C++ if needed. Just my opinion :)
Learn in One Videos for Every Programming Language
Subscribe to Bookmark them: bit.ly/2FWQZTx
Python : th-cam.com/video/N4mEzFDjqtA/w-d-xo.html
C++ : th-cam.com/video/Rub-JsjMhWY/w-d-xo.html
Java : th-cam.com/video/n-xAqcBCws4/w-d-xo.html
PHP : th-cam.com/video/7TF00hJI78Y/w-d-xo.html
MySQL : th-cam.com/video/yPu6qV5byu4/w-d-xo.html
JavaScript : th-cam.com/video/fju9ii8YsGs/w-d-xo.html
C# : th-cam.com/video/lisiwUZJXqQ/w-d-xo.html
HTML5 : th-cam.com/video/kDyJN7qQETA/w-d-xo.html
CSS3 : th-cam.com/video/CUxH_rWSI1k/w-d-xo.html
JQuery : th-cam.com/video/BWXggB-T1jQ/w-d-xo.html
TypeScript : th-cam.com/video/-PR_XqW9JJU/w-d-xo.html
ECMAScript : th-cam.com/video/Jakoi0G8lBg/w-d-xo.html
Swift : th-cam.com/video/dKaojOZ-az8/w-d-xo.html
R : th-cam.com/video/s3FozVfd7q4/w-d-xo.html
Haskell : th-cam.com/video/02_H3LjqMr8/w-d-xo.html
Handlebars : th-cam.com/video/4HuAnM6b2d8/w-d-xo.html
Bootstrap : th-cam.com/video/gqOEoUR5RHg/w-d-xo.html
Rust : th-cam.com/video/U1EFgCNLDB8/w-d-xo.html
Matlab : th-cam.com/video/NSSTkkKRabI/w-d-xo.html
Arduino : th-cam.com/video/QO_Jlz1qpDw/w-d-xo.html
Crystal : th-cam.com/video/DxFP-Wjqtsc/w-d-xo.html
Emacs : th-cam.com/video/Iagbv974GlQ/w-d-xo.html
Clojure : th-cam.com/video/ciGyHkDuPAE/w-d-xo.html
Shell : th-cam.com/video/hwrnmQumtPw/w-d-xo.html
Perl : th-cam.com/video/WEghIXs8F6c/w-d-xo.html
Perl6 : th-cam.com/video/l0zPwhgWTgM/w-d-xo.html
Elixir : th-cam.com/video/pBNOavRoNL0/w-d-xo.html
D : th-cam.com/video/rwZFTnf9bDU/w-d-xo.html
Fortran : th-cam.com/video/__2UgFNYgf8/w-d-xo.html
LaTeX : th-cam.com/video/VhmkLrOjLsw/w-d-xo.html
F# : th-cam.com/video/c7eNDJN758U/w-d-xo.html
Kotlin : th-cam.com/video/H_oGi8uuDpA/w-d-xo.html
Erlang : th-cam.com/video/IEhwc2q1zG4/w-d-xo.html
Groovy : th-cam.com/video/B98jc8hdu9g/w-d-xo.html
Scala : th-cam.com/video/DzFt0YkZo8M/w-d-xo.html
Lua : th-cam.com/video/iMacxZQMPXs/w-d-xo.html
Ruby : th-cam.com/video/Dji9ALCgfpM/w-d-xo.html
Go : th-cam.com/video/CF9S4QZuV30/w-d-xo.html
Objective C : th-cam.com/video/5esQqZIJ83g/w-d-xo.html
Prolog : th-cam.com/video/SykxWpFwMGs/w-d-xo.html
LISP : th-cam.com/video/ymSq4wHrqyU/w-d-xo.html
Express : th-cam.com/video/xDCKcNBFsuI/w-d-xo.html
Jade : th-cam.com/video/l5AXcXAP4r8/w-d-xo.html
Sass : th-cam.com/video/wz3kElLbEHE/w-d-xo.html
Can you tell us the name of the font, Mr. Banas?
You are truly a master! Just watched the whole video. This video is better than the learn to coffee in 5 hours and it's only 1 hour! Thank you, sir!
Definitely watched the whole video and I'm going to watch it again.
You are the best teacher I've encountered yet.
Very concise and to the point.
Thanks for all you effort.
Great video
I wonder how much time did it take you to notice the error at 28:36 ?
To anyone learning how to program. THIS IS NOT FOR YOU. This brilliant video is for revision or swapping from one programming language to another. If this is the first time you're learning to code, you will most likely get lost. This is covering everything you'd do in an entire year squashed into 1 hour. Don't recommend him slowing down. There's 100's of tutorials where they go through slowly and carefully. This is one of the only ones that takes it at a great pace for many of us already familiar with coding and just want to swap over to C++. We need this man's brilliant work at this pace
Thank you for the nice compliment :) Yes this isn't for beginners
This :D
PLESE HELP ME
Derek I like your video, although i am green for C++ programming and new, but i am interesting in this subject. Thanks for your videos that are of great interest.
I learned Python first, and now this is godsend ^_^
Data Types : 2:40
Arithmetic : 6:02
If Statement : 9:19
Switch Statement : 12:01
Ternary Operator : 13:08
Arrays : 13:49
For Loop : 16:30
While Loop : 17:56
Do While Loop : 19:42
User Input : 20:27
Convert String : 20:56
Strings : 21:39
Vectors : 27:47
Functions : 30:16
Recursive Function : 32:37
File I/O : 34:57
Exception Handling : 38:38
Pointers : 40:02
Reference Operator : 40:25
Classes / Objects : 47:12
Private : 47:55
Static Variables : 48:21
Public / Encapsulation: 49:02
Constructors : 50:42
Static Functions : 51:46
this : 53:16
Inheritance : 57:29
Call Superclass Constructor : 59:14
Execute Static Method : 1:00:34
Virtual Methods : 1:02:45
Polymorphism : 1:07:39
Abstract Data Type : 1:08:29
For people who use mobile
Mtsk thanks thats a lot of hard work
Tnq
@@pewdiepaulmarkdobrik5216 it's on the description
Thank you ;D
Thanks a lot U R so good 😍😍😍😍😍
The fact that these Derek Banas tutorials exist on TH-cam (with time skips in the description) for free, is a true gift to the programming community
Video took me over 10 hours collectively to process all the information, writing all the code and adding comments for me to understand in the future. Beautifully done and explains everything wonderfully. Brilliant job.
You watched it perfectly. To learn everything you should take your time and write notes as you pause through. I'm glad it helped :)
Thank you. I'm trying to teach myself how to code as I want to get into the industry. I'm 22 going 23 and want to do an apprentiship in IT. Thinking of watching your "html 5" video while I cement what I've learned from C++.
Jake Gilham I wish you the best of luck!
Jake Gilham how it is going so far ? did you give up or still learning ?
I watched the whole thing. I'm coming from already knowing C fairly well, so this format worked quite well for me.
Happy I could help :)
My C++ Beginner Tutorial Series : th-cam.com/video/DamuE8TM3xo/w-d-xo.html
Thanks for the video derek. I basically started learning from scratch, had a basic knowledge and had a lot learnt from this video.
Derek Banas t
Thanks, I needed a quick review. Have been coding in Python, and had forgotten parts of C++ even though they're quite similar. Just the right speed, not boring at all.
Derek Banas Please explain Windows Forms with C++, I cannot do anything
:)
This channel is pure gold. I love the fact that it's purposefully orientated for people that already know how to code in X language. That's the type of content that said people (like myself) are always looking for, and you sir provide some quality content! This video is almost 10 years old and yet I've not seen anything like it so far. Awesome job!
I watched the whole thing and was asked to make a post saying so, so here it is.
A little feedback:
- For a person who may be brand new to C++ or programming in general, you went way too fast.
- For a person experienced with programming, but new to C++, you went just a little too fast and provided almost enough supporting detail to each of your points.
- (In my case) For a person with experience programming, and some C++ experience who is looking for a refresher or to fill in minor gaps in knowledge, this video was SPOT ON!
Basically, this video was EXACTLY what I was looking for, and I will be bookmarking it to refer back to in the future!
-V.
Thank you for the input :) I'm glad it helped. Yes I agree a beginner to programming is not the target audience
Can confirm as person “experience with programming but new to C++” I got it for the most part but some bits I hadn’t seen before were slightly too fast.
You're not supposed to learn all C++ in 1h. But because the video goes fast, I can just re-watch some parts a few times until I've understood how it works while I do tests. Just don't expect that watching a 1h video a single time will make you a programmer.
Vito Morlino - I moved from PHP, Java, etc to C++ for my project, whatched about 15 vids and i started to create my own logic in C++ and write my code from 0 to 100% without help of any other example on the internet. You must have basic principle how structure works, and you can gues later what you should do if you know the principle. EG: If you learn how to start and operate with remote your old TV, you can explore and fast learn other new and more complex remote controller with teletext and smart menus. And if you got it, next day you can wonder in your head how remote sending signals and you want to look inside, you find the chip, than you learn how to program your own, than you start to use microcontroller and software, and learn one by one. I started from Hello Word in HTML writed in Notepad. Now i am expert in PHP, C++, Pyton, Java... i have my own Libs, i print my PCB, soldering parts, creating my own modules, controllers powered by complex logic and algorithms... Not to easy, but its easy if you want to know!
As for me it was easy to watch and understand, because I've jumped across few languages learning about them, which gave me fundaments to proceed with further learning.
About basics of programing I've learned from Python, but later I've jumped to Java and some C# which gave me more stuff like virtual classes/methods, abstract classes and intefaces, which gave me better understanding of OOP. If it comes to C++ pointers and references is hardest part to understand. Of course, There is no way to learn how to fully use C++ because there are heading files and preprocessors which are ommited in this video and they are quite crutial to understand C++.
I watched the whole video... after 3 years from first clicking it.
How was it
better late than never, eventhough had you learned it 3 years ago you would've been a certified developer nowadays
Proud of you
mee to man
@@anlcangulkaya6244 hi
I can't believe I watched the whole thing, but it was a great refresher and I think I learned a few new things too!
same
same here
same
same here
One of the greatest blessings to the programming community. Haven't used C++ in about 3 years, but it all came rushing back. Great format, and I love how quickly, but succinctly you cover the entire language. Thank you.
Thank you for taking the time to write a nice message :) I'm happy that I could help
*"A day without sunshine is like, you know, night"*
-Steve 2014
I always liked that quote :)
+Derek Banas
Keep the good content coming. You're one of the best out there.
Steve Martin is the name
I love tutorials that are fast paced, and go straight to the point without messing around! :)
Thank you :)
I love this the only form of coding we do at school is flash and java script and btw your voice is fucking mint
EXACTLY!
docs.google.com/spreadsheets/d/1ccdn9pbLYVPagNz-sr58ASuG17P0RBgZZJP2DJJ2RBw/edit?usp=drivesdk
Me too.......
As a programmer who knows Java & C, this video was EXACTLY what I was looking for. Such a great summary. Hats off to you!
Thank you very much :)
Please help me
at 46:23
Both Pointer and Referencer can be used equally . Both aren't need to be initialize at declaration of variables.
In case of dealing with the reference we could used same as pointer does is shown below:
void actYourAge(int& ageRef) // here, ageRef is a reference to the myAge and that is initialized whenever this function is called.
{ ageRef =39; }
int main()
{
int myAge ;
actYourAge(myAge);
cout
@Peterolen myAge is a variable and ageRef is a reference that going to initialize whenever that function is called.
I supposed to say that, we no need to initialize the reference/pointer at the time of variable declaration in regards to his explanation.
This video was beautiful. Fluent, explanatory, fast. 10/10.
+Ege Tuncoz ign
+Ege Tuncoz 10/10 IGN
+Janmay Patel too much code 7/10
Rodrigo Galdeano Too many script kiddies 69/10
+TeleTubbie Luver too many script kiddies? What are they gonna do with this code? lol
*For those coming here for the object-oriented part of C++:* 47:15
Many thanks
The real MVP
play.google.com/store/apps/details?id=com.antlem.coderhub
thanks for for posting what he already put in the comments.
Thanks
Thank you sir. But my head is hurting me bad and my eyes are bleeding.. Is that normal?
Just watched the whole video as a refresher on C++ for a job interview after not using it for at least 2 years. It's freaking awesome! Great job condensing all the necessary into 1 hour while still keeping everything clear and easy to understand. Nice how you explained inheritances and polymorphism while solving the diamond problem at the same time. Thanks! I'm going to check if you have more videos that goes deeper into object oriented programming because if it's the same format it will definitely be a great refresher. A++ definitely recommended for experienced programmers and people who have experience with C++ but needs a refresher!
Thank you very much :) I'm wrapping up a big C++ tutorial now and I have another on Object Oriented Design using Java
String part: 25:40
1st he did : string wholeName = yourName.assign(yourName);
The right way is : string wholeName;
wholeName.assign(yourName);
2nd he did : string firstName = wholeName.assign(wholeName, 0, 5); \\It will actually do is cut out the first 5 charactors from wholename and replaces it's data with what they cutout and equals with firstName string variable.
The right way is : string firstName;
firstName.assign(wholeName, 0, 5);
Thank you, I was confused by that part but your correction is spot on!
All the people who have never used C++ before were stumped after the first 5 seconds. All the people who came here knowing C++ thought it was fantastic because they just realised they also knew the basics...
the saddest thing is.. these are the basics
I don't know Cpp. I thought the video was good. I have already programmed quite a bit in java. This video is for people who know how to program.
im coming from C and i understand it all crystal clear although this just covers the literal basics lol
Came here two years after I watched it. Now I honestly think it's a poor video factually, and it implicitly teaches very bad habits. The content is ultra-basic, it's not even funny.
@@0xF33D Could you expand on what the bad habits would be?
I switched from C to C++ and this video was just right. I think that for anyone that's familiar with basic programming, this video is also great, except for pointers, that was a bit fast. As other comments suggest, it's not for new programmers. But as for me- it was brilliant!!! Precise and to the point. Thank you.
Thank you very much :)
I recommend this video to computer science students who don’t understand c++ at all yet they have been trying to
"Functions or methods. Same thing, different name."
THANK YOU. I am so sick of the coding elite complaining because I use the word "Function" when I'm talking about "methods".
Worse yet are the VB.net elitists who try to rip me a new one when I refer to VB.net "modules" as "functions".
THEY MEAN THE SAME THING, PEOPLE!
Anyway, thanks for the awesome video and sorry for the rant. You rock, Derek!
Christopher Pilcher It is all just jargon. That always irritated me as well. My goal is to help people learn and not to try and make myself sound smart :)
Method are functions that work on objects, that's how I see it.
Bozacar that it's a good way too look at it. Python specifically uses that classification in their docs.
LiveDieCode That's exactly the kind of pedanticism that discourages a lot of new programmers. It's also pointless.
if ( it's the first time for you ){
"YOU WILL GET CONFUSED";
}
else {
"YOU CAN WATCH IT AND RECOVER WHAT YOU LEARNED";
}
this video is for those who want to recover what they have learned and forgot
There are four links in the description above. I am experiencing issues with two of those links:
3 -- How to Install C++ on Windows : th-cam.com/video/SykxWpFwMGs/w-d-xo.htmlm47s
4 -- C++ for Beginners : th-cam.com/video/DamuE8TM3xo/w-d-xo.html
Link three leads me to a video titled: Prolog Tutorial, not a video about installing C++ on windows.
Link four leads me to a video titled: Install C++ & NetBeans [for both Windows and Mac], not a video on C++ for beginners.
Here is my C++ beginners tutorial th-cam.com/video/N5HgK1bTLOg/w-d-xo.html
15:05 I think it's better think think of arrays as lines, to squares to cubes, and each array within each array is another coordinate:
0 1 2 3
0 [A][A][B][C]
1 [D][A][B][C]
2 [H][Z][B][C]
3 [A][A][B][C]
arrays[2][3] = B.
I think that's a bit easier than boxes in boxes in boxes in boxes, even though that is what they are, this is just another way of looking at it.
what about 4d arrays ?
Vladimir Georgiev Well I mean that's just a four dimensional shape that you can't represent with a diagram.
linear algebra for matrices and projections for cameras in games
i can give you an easy example. simulate a movie theater where each theater is composed of different sections and each section has a certain amount of rows and each row a certain amount of seats... that right there could easily be a 4d array..
if you want the real reason for 4 dimensional arrays it is this: if you use Euler angles you lose one degree of freedom on each axis: "Main reason games use quaternions is because they represent rotations almost as space-efficiently as Euler angles, without suffering from Gimbal lock. Gimbal Lock begins when any Euler angle reaches a rotation of 90 degrees around any axis: you immediately lose a degree of freedom. Quaternions address this issue by adding a fourth dimension. If you stuck with Euler angles, you'd have to restrict one axis to never rotating more than ~89 degrees."
Actually you could learn c++ in half an hour by playing this video at double speed
bad idea
That's funny :)
Hello, Derek. Can you please add some notification on your video about the fact that you will be covering C++ legacy code that is simply there so the old code would still compile?
You are talking about things like new and delete that are deprecated and c++ features only because legacy reasons. This is not how you should write c++ anymore.
I only can do 1.5 times. 2 times the speed is too fast for me. Maybe if I wasn't ESL.
Thanks for the tip. Am now a C++ expert in half an hour. Just did it before i went to apply for a C++ job. So im good now.
You will be remembered as a legend.
Thank you for the nice compliment :) I do my best
Hey could any of you help me learn how to hack
I have an exam on C++ today. If I hadn't found your video yesterday, I wouldn't have taken the exam today. Thanks a lot man........massive respect for your patience to create this video.
I'm absolutely impreesed. To be honest, I didn't think you could do this. I wasn't expecting such an amazing video.
I've been programming in Java and C# for some time now, and I wanted to learn C++. This video was perfect for me.
I still have a couple of questions, though:
1) Why do you sometimes define your methos inside a class, such as:
class Animal(){
public:
void makeSound(){ cout ...}
};
and, other times, you define it outside the class, such as:
class Animal (){...};
Animal::method(){
...
}
2) Also, why do you sometimes use the "new" keyword and other times you don't. Like in:
Animal fred;
vs
Animal* pCat = new Cat;
Thank you so much for this amazing video.
Best regards.
Not sure if he explained it (still watching the video), but to answer your questions:
1) The first Animal you created has "implementation" and "declaration" defined all in the same place. The second one separates "implementation" from "declaration". The second approach is common in C and C++, as it is used to get information of code without actually showing the code itself (this is required when you are using other libraries due to how the compilation process works in c++). Typically, you would separate implementation from declaration via header(.h, .hpp, etc) and source (.cpp, .c, etc) files. So, in the header file you would just declare signatures of everything, then in the source file you would actually implement all of the signatures. It's very verbose, but very useful.
2) The "new" keyword is used differently in C++ than it is in languages like Java or C#. You are actually dealing with two different memory places in C++, the stack, and the heap. You need to understand and watch them closely in order to prevent subtle bugs/crashes. So, when you write Animal animal; you are creating an animal instance on the stack. When you write Animal *animal = new Animal(); you are creating it on the heap. Definitely worth researching.
Nice. Thanks for answering.
I suspected the separation of both declaration and implementation was for that very reason. I just didn't want to assume it.
As for the stack and heap, I have no clue what those are, so I will have to study them. Thank you for pointing me in the right direction.
I think he was demonstrating creating functions and constructors INSIDE the class, and also showing it is possible to create using the scope operator outside the class.
second one creates a dynamically allocated variable whereas the first is a static variable.
In simplistic terms the stack is a memory model where your local automatic variables (static variables) (i.e. the standard variables you use like int num1 or string userName) and your function calls are stored. It has a first in last out (FILO) pattern, meaning if three functions are called sequentially, then they are "stacked" on top of each other, so to speak, and the first one called will be the last one removed from memory. In other words the third function called will be the first one to be deallocated from memory (when its scope has ended). Then control will be handed back to the second function and when its scope has ended it will deallocate and hand control back to the first function called.
By contrast the heap is where dynamic memory goes. Dynamic memory has no pattern of allocation/deallocation like the stack does. Heap variables also have no variable names the way static ones do and thus is the reason for having the "Animal* pCat = " part. Since dynamic variables have no names associated with them, the way you access them and keep track of them/use them is to create a static pointer variable (which does have a name "pCat") that points to the nameless dynamic variable. Pointers are just datatypes made to hold literal memory addresses for situations such as this one. So by "pointing" to the dynamic variable, the pointer pCat really is just holding the variables heap memory address as its own value. There are some rules on how you use pointers but it's basically just a bridge between the nameless dynamic variable and anything trying to access that data (e.g. you the programmer). Now remember heap memory is not automatic meaning memory isn't allocated and deallocated automatically based on the scope of the variable. This is where the "new" part comes into play. 'new' means allocate and 'delete' means deallocate on the heap in C++, and they must be explicitly expressed in the source code. So here, the programmer tells the program to allocate memory on the heap for one variable of type Cat, then store its memory address in a static pointer variable (on the stack) called pCat so that it can access this dynamic variable later. The keyword new with an assignment operator (=) automatically returns the address of the memory it allocates. The "Animal*" part is just the datatype of the pointer variable pCat. The '*' signifies that the declaration is a pointer, and the 'Animal' part signifies the type of variable it will point to i.e. that the address pCat will point to is of type Animal ("new Cat"). I'm assuming here that Cat is a class inherited from the class Animal and thus a pointer of type Animal can point to objects of classes derived from animal (Cat objects). This is a feature of polymorphism.
But that's pretty much all there is to it. Heap memory is different from stack but the common ways you use it is very similar to regular variables, minus the use of pointers and the keywords new and delete. Now the biggest thing about heap is that you the programmer must deallocate the memory (delete) when appropriate because otherwise the memory will persist and that is no good. Hope this was clear
So i'm a PHP developer that converted to Node.JS and needed to pickup C++ for making Node.JS modules.. I must say after 2hours and 20min. /you do the math/ this actually make hella lot of sense. And was easier to absorb than watching 128 episodes of "learn C++ - the slow and tedious way".. Thanks!.
Moronicsmurf Thank you :) I thought it would be a good idea to make tutorials for people that already knew how to program in other languages. I'm glad I could help. I'm planning on making a NodeJS video very soon. Great framework!
yeah the big pit falls i have when teaching top down coders in node.js is to mind the asynchrounous parts of the language and framework.. it just doesnt dawn on most of them that everything tends to be non-blocking. ;)
Moronicsmurf I get that. Before Node I thought I'd be a PHP guy forever. That ship has definitely sailed. I still do a lot of work with Laravel though. I can't wait to make that video.
hehe, so now.. step into this..LinuxCNC uses Python for UI, but C++ for drivers and HAL overlay. By utilizing C++ as module language for Node.JS you can expose most of the application to a 3rd party, and have the UI locally react when the remote client on say a webinterfaced phone clicks a button and move around a 2 ton machine. I needed these 2 crash courses (just watched your python variant and made the first connection literally 5min ago) ;)
Watched the whole thing. Spot on for my level, where I wanted a quick refresher.
Thank you :)
I watched the entire video. I'm in college for programming and all of my previous classes were for java. All of the sudden this class wants me to program in c++. This video was a life saver. I now know all of the basic key words and structural differences. Thank you so much!
Thank you :) I'm very happy to hear that it helped
Watched the whole video and enjoyed refreshing some basic concepts as well as the C++ specific part about pointers/references etc. Loved how you used them when demonstrating classes explaining encapsulation and polymorphism. Really helped a lot to finally get these C++ things in my head that work kinda different from Java. Also saved a lot of time thanks to the pace you chose for the video :)
Just watched this as part of my exam revision for tomorrow, great video, helped me understand polymorphism and virtual functions more than anything else has and was super helpful in remembering some bits of the language i had forgotten, thanks :)
Thank you :) I wish you the best of luck on your exam
Watched 'till the end. I have a Introduction to Programming II exam in about 30min, it covers C++.
I have done all the studying I can, confident I will do very well, this video was excellent revision. Thank you for making it :)
Did you do well?
Not sure why DB suggests that to create a string in C you'd do: char name[] = { 'D' ,'e' ,'r ', 'e' , 'k' '}; when he knows full well that char nane[] = "Derek" or char *name = "Derek" works equally well in C.
also not sure why he uses the getline function. it's unsafe and cin.getline() works just as well
Im a little late but he didnt suggest to create a "string" this way. He gave an example for arrays and multi dimensional arrays with characters.
The multi-dimensional char array defined at 15:10, although it works in your example, is wrong, or at least very misleading. `myName[5][5]` creates an array allocated to hold 25 items, which you can visualize as 5 "rows" and 5 "columns" of characters. If you want to use it like you do in your example, the array should be defined as `myName[2][5]`.
I totally agree with you that part is just no make any sense and for the for loop it should be j
watched the whole video hoping to refresh for my computer science class. thanks a bunch msn
I'm happy it helped :)
The creator of this video deserves an award for the best straight to the point lesson! He is fantastic!
Thank you for the compliment :)
Just finished watching and I don't think where else I would find such an in depth tutorial in only an hour! Been doing programming for about 6 months now, starting with Python, then PHP and JS and finally Ruby - really thought I would stick to dynamic scripting languages and I feared going into languages like Java or C. Then, someone told me if I don't want to learn C, I could try C++ or C#, since they're easier to learn than plain C, so that's why I ended up here.
Thank you for this amazing tutorial! C: (hehe, get it - it's a smile that contains a C because C++? Yeah no, I'm bad at puns.)
TuxxedoCat Thank you :) I'm glad you enjoyed the video. I personally agree that you can skip C and go directly to C++. Once you understand how OOP languages work you'll find that they are easier to deal with with complex apps.
Hey man, that pun was amazing. I'm going to be honest though, I didn't notice it until you pointed it out. But in this case you should of put this lol, "Thank you for this amazing tutorial! C++:")
I watched the whole video. You simply cant teach c++ in 70 minutes. The things that make c++ stick out form other languages are fine details that you need to spend time studying and understanding. But, I think this video covers basic programming in c++ very very well. I don't think this video was made with the intention of making you a senior c++ developer (I have more respect for Derek than to say that), this is made to teach you how to program in c++. with the knowledge in this video you can make most algorithms and simple programs. This video is what you want if your a [insert language name here] developer and want to branch out to c++. I highly recommend this video.
Billy Clay Yes you are absolutely correct. It is for current programmers that want to see the syntax differences between C++ and a current language that they know. I have covered algorithms for Java already and plan to do the same for C++ ASAP :)
Derek Banas Can't wait! Keep up the good work!
Excellent review for old time C programmer who has done tons of C and some C++ in the past, definitely too fast for a beginner. Minor correction around 12:42, if you leave the "break" out of a switch statement, it doesn't "check" anything further to see if it matches (as you stated), program flow just knows it hit a match already and continues executes all the statements in the switch statement until the program flow either hits a break statement or the bottom of the switch statement - it is called "fall through".
Jeong Fanberg if it continues to execute isn’t that the same as “checking”?..
Thanks Derek Banas. I got a C++ qualification 20 years ago and promptly forgot it all. This primer was perfect for resurrecting my forgotten knowledge.
I'm 90 years old, intoxicated, trying to learn C++, and you tell me I can't drive!? that's worse than MOONSHINE ON THE WATER!
Wow, C++ is widely popular to every age group.
'97 ? I think you are 21, not 90.
@@tomasbrod1533 doesnt mean hes born in 97
@@michaelherweg7421 He died 6 months ago, in the car crash, from natural causes #Gravity
@@tomasbrod1533 1897
Thank you so much man, made it so easy for me to transition from Python programming to C++.
I'm very happy to be of help
if you wanna learn c++ i recommend reading a book. you can learn how to use arrays etc... by watching videos but c++ is a very technical language. where the important thing is implementation, especially the area of resource management is imperative to understand techniques such as RAII. for beginners a good place to start with is reading starting out with c++ from control structure through objects. that is the best book for beginners . and it goes as far as working with trees. when you are more advanced. not just in terms of coding but theoretically as well. read any of bjarne books. that book alone will keep you pre-occupied for a while. and another series of books that is amazing, but more concise than bjarne's books. is the series of c++ books written by scott mayers.
You sound so fucking smart dude like I didn't even understand half of what you wrote.
lol
i have saw a video stating C and C++ are two completely different things people get confused about thinking they are the same so idk how i feel about starting on C i want to create video games and everyone tells me to learn C++
Gort Newton Hey man i have never looked into any dev forums before, they have so many answers i would have looked onto youtube for instead. Big THANKS for the tip!
false. in unity you use c# to code your video game in and in unreal engine you use c++
It was this video that made me first want to learn to program. There are people saying this isn't for beginners, and obviously when I didn't know how to program I was lost, but it was really nice to have this pop up in my recommended. My life changed after this. Thank you for your contribution to the community.
Watched the whole thing....You know what? It took 2 semesters (I forget how many dollars that cost) to learn what I learned here in 110 minutes!
It's 70 minutes, not 110😂😂😂
oops
Shiva Rampersaud
Oh, yeah.....Opps, I'm used to the clock on my microwave. LOL
chris moles same happened to me
And then you wonder :)
Absolutely brand new to C++ and after 1 hour i have no idea what is going on
This is my series for beginners to programming th-cam.com/video/nwjAHQERL08/w-d-xo.html
This video is not for beginners, this is for someone who already has small knowledge in this language and wants to repeat some stuff :) As beginner you need to watch more detailed tutorials... and if you want to learn one language in one hour.. just dont :D
that's because you cannot learn C++ in one hour long video, unlike what the OP says in the description.
Ive only coded HTML and vbs. Idk either
John Snow it is not for begginners
I watched the entire thing. Coming from Java, this was really helpful! Thank you for making this tutorial
I watched the whole thing! This was by far the most efficient "I know how to program but want to specifically learn C++" video I can imagine. Thanks you so much!
Thank you :) Those are the people I made this video for
Great video, but it requires prior knowledge to follow it.
Thank you :) Yes you must know another language well before using this to learn C++
It was very informative, since I come from C#/Java/Vb and I am now getting into hardware developement and pure asm is quite hard. Do you have a video online where you explain templates for example? didnt find one yet
Sorry I haven't covered templates yet. I'm planning a big C++ tutorial
looking forward to this. Keep up the great work.
There are so many Video tutorials out there starting from zero programming knowledge, and I can't bear them. this is perfect.
hey dude, nice video to watch while cooking 😀
Thank you :) I watch videos when I cook all of the time
I guess you wont see much of the video or you will burn all the food...
Thanks for the tutorial! Just needed a quick refresher as I haven't worked with C++ in some time. You are very concise and accurate. Thanks again
Thank you :) Happy I could help
On a super legit note, I've read countless books, watched countless videos. This video, although fast, has helped me more than anything. It's to the point but you still understand what he is doing and he explains it without too much depth. I enjoy the video, thank you!
Thank you :) I'm happy that it helped
You are going a bit fast but that's the beauty of youtube videos - I can watch them as many times as I want :) Great explanation of polymorphism and virtual functions and all of that. Are you thinking about making these about C#?
Matej Bašić Thank you for the compliment :) Yes a C# tutorial is in the works. I'm working on my game tutorial right now.
Derek Banas Great! Appreciate your work very much. I can see how much you put yourself into these tutorials. It's simply beautiful. Do you have a degree in Computer science or something like that?
Matej Bašić Thank you :) I went to school for electrical engineering, but I've basically been programming for the last 30 years.
Prepping for an interview assessment so I watched the whole vid. Pretty good overall review of the language. Thanks!
Did you get the job??
I did watch the entire thing, over the period of 3 days.
It is best to take your time :)
I watched the whole thing in several sessions during one day. It was a great conversion video.
I was a Java programmer for years before I retired and now I mess about with ESP32 MPUs and Linux and Web sockets to make "devices".
You have helped me understand the differences in the cultures of JAVA and C++, especially where the terminology is the same and the meaning is different (Polymorphic :)) Thank you.
Thank you for the very nice message :) I'm very happy to hear that you are enjoying my videos.
Super easy to move from java to c++ before classes start to get ahead!
I'm a complete C++ noob but for the last couple of years I've been using Unreal Engine's Visual Scripting system.
So I came here to learn how to code and I have to say I could follow along and understand almost everything you showed.
My mind was busy translating written code to a "visual" format though, which I found amusing.
Anyway you did a great exposition, C++ is sexy AF.
That's cool :) I'm glad you liked it
You really need to explain more.
I kept on asking "Why?" and "Why?". You only say "We're going to do this." Not "We're going to do this *because* ....."
Why are we writing "#include
Alaskafish I'm sorry, but this tutorial is meant for people with programming experience in another language. If you are starting out in programming check out a Python tutorial. C++ is a terrible first language.
iostream is short for input output stream without it you cant use cout or cin commands, if you dont know what int main() is then you probably should learn python first
I imagine you might be taking an intro to programming course or basic computer science course that starts you off in C++. Like Derek said, this can be difficult for some people. I would recommend getting a foundation for understanding some of the concepts of high level programming from sites like codecademy.com. You'll pick up a lot of general knowledge that you can apply elsewhere.
Check out KnowledgeHighway. He does c++ tuts that are really good.
Derek Banas I'm attending columbia college and my first programming classes visual basic and java and now I'm in my third c++ class. I don't think they teach python at least I haven't seen the class in the list. We're working with linked lists this week, yikes!! lol good video btw.
I absolutely love this video. I have been coding in java for years and want to learn C++ now and with this video, I don't have to sit through 2 hours of what a variable is, I just get a quick demonstration of everything going on that I need to know to get started. Thank you so much for this video
Thank you for taking the time to tell me it helped :)
this video is not meant for beginners!!! this video is only for people who have learnt c++ and want to revise it|
yes I want this kind of video
th-cam.com/video/P4B5u3LCFnw/w-d-xo.html
check this its for beginners
thanks for the heads up
it's really for people who have a basic understanding of how programming works. A lot of languages boil down to the same principle. Once you understand principles, you can sort of see what's going on in any language
Yess, and this is the perfect video for me!
Dog goes woof, cat goes meow
BUT WHAT DOES THE FOX SAY?
Ring-ding-ding-ding-dingeringeding!
Gering-ding-ding-ding-dingeringeding!
Gering-ding-ding-ding-dingeringeding!
Wa-pa-pa-pa-pa-pa-pow!
Wa-pa-pa-pa-pa-pa-pow!
Wa-pa-pa-pa-pa-pa-pow!
Hatee-hatee-hatee-ho!
Hatee-hatee-hatee-ho!
Hatee-hatee-hatee-ho!
Joff-tchoff-tchoffo-tchoffo-tchoff!
Tchoff-tchoff-tchoffo-tchoffo-tchoff!
Joff-tchoff-tchoffo-tchoffo-tchoff!
Jacha-chacha-chacha-chow!
Chacha-chacha-chacha-chow!
Chacha-chacha-chacha-chow!
Fraka-kaka-kaka-kaka-kow!
Fraka-kaka-kaka-kaka-kow!
Fraka-kaka-kaka-kaka-kow!
A-hee-ahee ha-hee!
A-hee-ahee ha-hee!
A-hee-ahee ha-hee!
A-oo-oo-oo-ooo!
Woo-oo-oo-ooo!
+Leonard Greenpaw no
top most important things to understand from this video:
Max is an animal.
I've been taught the C language in the first half of the first year at the university. now I'm preparing my self to learn the C++ in the second half-year. This tutorial sound to be very helpful. Thanks.
Thank you :)
Get this guy a 50M subs
YES
a tutorial to understad this video
make speed on 0.25
+VIPE
Set the speed on 2 and you will have a relief of how easy it is now!
+Budda90000 that sounds like those quick notifications at the end of medicine commercials.
I watched it all as revision for my exam, very helpful for remembering syntax etc.
Especially as I have 4 different modules I'm studying at the moment (all with different languages).
The languages all seem to just blend into 1 thing after a while, which is not good obviously! lmao
Watched the whole video in one sitting! Just for you to know we appreciate what you're doing for us.
When he mispronounced Euler, I laughed and actually pushed my glasses up on my nose. : (
Awesome video! Just one question, after learning everything in this video, how can I further my C++ knowledge? Is this all there is to C++?
+Harut Rehanyan Thank you :) This is the synatx or rules on how to do all the simple things with C++. It is like learning how to say a few thousand words in a spoken language. The next step is to focus on how to turn a problem into a programming solution. I made a tutorial called object oriented design. It is written in Java, but if you worked through it while translating from Java to C++ I think that would help you dramatically. Use the code here as a cheat sheet.
Derek Banas I don't know java, this video is basically all the programing I know. Should I learn java first then watch the video? If so, do you know any good places to learn java?
+Harut Rehanyan I have a ton of Java videos. Over 100. Yes Java is a better first language. Probably the best first language is Python.
Derek Banas Oh, alright... I guess I was wrong in getting into c++ first... Ok so ill start learning python ( im guessing you have videos on it) .
Thanks for the awesome help! I cant tell you how much i appreciate it!
+Harut Rehanyan u can learn c++ from thenewboston channel on youtube
Watched the whole video.
The video is great for those who want to review C++.
Thanks
Thank you :) I'm glad you liked it
yes that's right
For mobile phone users :
Data Types : 2:40
Arithmetic : 6:02
If Statement : 9:19
Switch Statement : 12:01
Ternary Operator : 13:08
Arrays : 13:49
For Loop : 16:30
While Loop : 17:56
Do While Loop : 19:42
User Input : 20:27
Convert String : 20:56
Strings : 21:39
Vectors : 27:47
Functions : 30:16
Recursive Function : 32:37
File I/O : 34:57
Exception Handling : 38:38
Pointers : 40:02
Reference Operator : 40:25
Classes / Objects : 47:12
Private : 47:55
Static Variables : 48:21
Public / Encapsulation: 49:02
Constructors : 50:42
Static Functions : 51:46
this : 53:16
Inheritance : 57:29
Call Superclass Constructor : 59:14
Execute Static Method : 1:00:34
Virtual Methods : 1:02:45
Polymorphism : 1:07:39
Abstract Data Type : 1:08:29
I watched the entire thing. C++ being my second programming language i found this very easy to understand and feel like i have a fairly good understanding of the language now. There were a few things that were a little under explained but that is to be expected when covering so much in so little time. This video is excellent. Though, if you are new to programming this may be frustrating as it is incredibly fast paced and expects you to have at least a minor understanding of fundamental programming terms and ideas. But other than that, great video, thank you and keep up the great work!
Thank you very much :) I'm happy that you liked it
Learning syntax is easy, and learning all the rules for the syntax takes a bit of practice, but the hardest part is actually getting the program to do what you want it to... The theory...
20:51 couldn't you have just done this, int numberGuessed;
cin >> numberGuessed; I ran and compiled it, it works.
Xeos Seox I do the same thing you do, and it works for me, its what I do
GamingBacon97 yeah i did the same but with the way he said in program i constanlty getting error that stoi was not declared
+Xeos Seox
Liaquat Ali did u include string? #include
Pratham Singh Yes, neither 'stoi' nor 'stod' work for me either.
Danish These commands do not work in latest compiler such as codeblocks and all.
I watched the whole thing! This is the best video on C++ I have ever seen :)
Thank you Happy to be of help :)
You just covered 2 years of my syllabus in 1 hour. Genius!🔥
I watched the entire video.
Thank you :)
// you'd watched entire video.
cout
/*
You Are Doing Your Video So fast
*/
#include
#include
using namespace std;
int whyidontunderstand(){
char Reason = 'Becase You Are Doing your Video So Fast';
const double noteofvideo = 1;
char GradeOfNotUnderstanding = 'A';
std::cout
Why not void?
Void not return a value.
for everyone who knows C/C++ , watch it in double speed for the lulz of it
+Conex Xenon I'm learning and watched at 1.5x :P
+Conex Xenon I did that as a refresher, cause I haven't used C++ properly since the late 90s so I'm hopelessly behind on new features. Got to recursive functions then I feel asleep :D But this guy, he sure is understandable on 2x, unlike most people =P
Euler is pronounced "oiler".
Aaron Vargas Nah. While neither is excellent french, "oiler" is closer.
English speaking people say "Crete" when in Greek it is pronounced "Kriti" or "Rhodes" when the Greek pronunciation is more like "Rodos" (IPA: roðos). Why do you have to get the french pronunciation correct for Euler? :-) Because it is a name of a person? Like Pyotr Tchaikovsky? :-D
It's called "anglicisation".
***** Might as well try your best?
+The Nature of Reality If your native language is English? I doubt that. And that applies to others as well. French people pronounce named in a french way, German people in a german way and so on. The name "Eugene" (first name) is not pronounced "oigene" in USA for example. We have to accept that some people say "Florence" when they're talking about the Italian city "Firenze". For the record: My native language is not English. And I pronounce Euler like it should be pronounced (and you suggested). :)
+Jeff Merlin You're confusing different languages with pronunciation. We don't say "Firenze" because that's the _Italian name_ for it. If you were to say "Firenze" instead of "Florence" you would pronounce it just like the Italians do, because that's how you pronounce it. It's the same with people's names and "special" characters like *Å, Ä, Ö, ß*. Just because *ß* looks like a *B* doesn't mean that you pronounce it like a *B*.
Watched the whole video. Thanks for such a great tutorial sir.
Thank you very much :)
Hey Derek, just wanted to let you know that I watched this video from start to end and it was very informative, insightful, refreshing, and moved at a great speed. I haven't learned about classes in class yet, but will be shown how to use classes soon, this was a great way to get ready for that. Along with that, this was a nice review session before my exam on Tuesday. Thank you for your efforts. Great work!
Great amount of information here.... BUT I personally believe that you went through some of it a bit too fast, leaving us old school RAW "C" programmers" gasping for breath.
Example - When you got to polymorphism I got really lost, despite watching it several times. The concept was "sortta understandable" but the application lost me....
Please do some more showing how classes can inherit from super classes etc, so we "nerds" can understand how that works at a code level.
Keep up the good work.....
this was fantastic review before my final thank you, i didn't know how to study but this helped so much
Thank you :) Best of luck on your final
I watched the whole thing as a review for my upcoming C++ final. It was WONDERFUL! amazing video... really helped me. My professor moves so fast in lecture and the screen is a little hard to see so having this right in front of me and explaining step by step is amazing. Thank you!!!
Thank you :) I'm happy I could help
im at Univercity of Baghdad in computer department
Back to wondering what I want to do in my life.
Do what makes you happy
Right this seems very complicating
Don't quit if it's b/c of this vdo lesson. Try other tut cuz he's going way fast.
If you are new to C++, I mean very new. Dont watch this. This video is really awesome for revision. But, it only gonna make you frustrated if you are new to it. I freaked out before when i was watching it couple of years ago, Now when i know C++, watching it makes me feel refreshed since my mind is full of python now.
conclusion = I really really really dont recommend this video for beginner. Go watch one with long explanation.
I agree it isn't for beginners to programming
coursera.org helps might be what your looking for
Can you send me a link on how to learn a phython ........ looking forward to hearing from you.
make mine sweeper in the debug window using characters to represent the grid, look up everything and anything you don't know and plan everything out on paper first.
I don't mean to be rude, but it seems maybe you could include that in the title. I spent 10 minutes trying my hardest to follow along.
may we have installations pls
I have my uni first year C++ exam next thursday and I deadass only went to the first lecture. Wish me luck lol
Are you able to create a 3d game using c++ with java incorporated?
If you want to make games check out C# and Unity
Derek Banas can c# and unity make 2d and 3d games as well?
Yes very well. C# was used with Xamarin to make Bastion and I'll cover Xamarin in the next few weeks
Thank you very much for replying.
P.S love your work.
Derek Banas nk
I learned a lot of python code from your video so when I needed to learn C++ I immediately went to you 🤩
Thank you :) I hope it helps
for 18:38 s my code keeps telling me that "rand" was not declared on this scope for the the first line after int main() {
+jesus bannanahammock ok so i just found a solution to this in which you might have to
#include
worked for me.
+jesus bannanahammock Double check your opening and closing brackets. Cut the code down to just the statements that use rand and it will be easier to find the error. I have a link to the working code in the description to help as well.
Derek Banas i checked every piece of whatever you typed and copied it. still, getting the same thing. according to the forums, for some c++ compilers, the #include is alreasdy included whereas not for others. im using code blocks c++ console application.
Derek Banas BTW thank you very much for replying to our concerns and great tutorial
+jesus bannanahammock I have heard that some people have trouble with Code Blocks. Maybe try Sublime Text because if Code Blocks is causing issues it will probably continue to. In this tutorial at the 1:30 mark I show how to install the C++ compiler you need th-cam.com/video/SykxWpFwMGs/w-d-xo.html
Derek Banas is really good at c++, I think if one watches this video 2-3 times, he will be able to face interview for C++ confidently. Well done Derek!
Thank you very much :)
This one made me remember Neo from The Matrix learning Kung Fu. I'm like "I know c++"!
That's funny :) I love that comparison
is it true that since C++ is so complex and hard if you mange to master it or be good at it everything else in programming will be easy
I would say that function and classes are easy but writing an application with c++ compared with other languages is much tougher especially the abstract stuff in c++ is nuts
THAT IS ABSOLUTELY TRUE IF YOU CAN SURVIVE IT
There are other languages that are much harder to learn then C++. I personally think if you are new to programming that it is better to start learning with a language that is geared for beginners. If my first car was a drag racer it would teach me the importance of being extremely careful while driving, but it might kill me. Likewise if a beginner decides to learn C++ first they may grow disinterested in programming which in effect kills what could have been a love of programming. It is just as easy to start with a language like Python and use it to learn syntax, algorithms, object oriented design, etc. and then easily transition into C++ if needed. Just my opinion :)