C++ for C# and Java Developers
Channel: ABMedia
Date: 2020-02-18

This video will cover all of the difficult topics and differences between C++ and a managed language such as C# or Java. Things such as Pointers, Heap and Stack, Header Files and so much more!

I made this video because as I got into C++ (coming from a C# background) a lot of these topics were really confusing to me and there weren't many great videos on the subject. I've designed this video to be exactly what I needed to properly push me off into developing in C++ back when I started, in the hope that you can hopefully get into C++ much quicker. This video also helps give you insight into the language C too, as C++ is essentially an extension on top of C.

USEFUL ARTICLES:

►References vs Pointers - https://stackoverflow.com/questions/7058339/when-to-use-references-vs-pointers
►Position of the "*" for pointers - https://stackoverflow.com/questions/2704167/type-declaration-pointer-asterisk-position
►Passing NULL to delete - https://stackoverflow.com/questions/4190703/is-it-safe-to-delete-a-null-pointer

BREAKDOWN:

The video starts by covering the differences between the compilation process for C++ vs C#/Java. C++ is significantly less "smart" than those languages and most notably doesn't see your entire project and all its files as one, but rather as individual files that are each processed, and then unintelligently combined through something called a "linker". And that leads us very quickly onto header files, which are necessary to make up for this limitation and are a staple of C++ programming.

We then continue to look at the most central thing of all of C++: Pointers. You'll hear about them everywhere, and C# technically even has them, but I cover them in enough detail here to really understand the concept behind them and why it's dangerous.

After that, I cover the difference between the heap and stack, which is once again something that you can apply to your C# and Java when looking at performance. I go into what the difference between is and what operations work with each, as well as why you'd use one or the other.

And finally, I cover the equivalent of arrays C++ has and how to work with them (hint: they're really just pointers all over again.)

I also won't cover absolutely everything there is to know, and I left the end fairly open for you to explore (e.g. vectors and strings) because that is always the best way to learn. But, this does cover the BIGGEST differences that aren't so easy to "explore" on your own or so obviously at first.

A good place to go from this video is to take a look at "The Cherno Project", there are fantastic videos about C++ there, so that might be a good place to go to next as you start to "explore" everything on your own. Channel is here: https://www.youtube.com/user/TheChernoProject

Thanks for watching my video, all videos should have subtitles on them - if one doesn't, please tell me immediately on the Discord server below and I'll get to work.

Chapters:

0:00 Compiler & Linker
2:40 Header Files
7:38 Pointers
18:48 Heap & Stack
32:30 Arrays
37:28 Class Syntax

Website ► https://abco.live/
Discord ► https://abco.live/discord

Community Contributions are off since I make the subtitles myself anyway ;)

#cpp #csharp