CSE 491 - Fall 2023 @ MSU
Lots of useful links and bonus videos below. These resources will be expanded as the semester progresses. Please make suggestions if you find a website or C++ video that you think is valuable!
CPP Reference - A community-driven resource with a detailed guide to the C++ language.
https://www.learncpp.com/ - Useful site for learning C++ from scratch.
Compiler Explorer - Compile and run C++ code on the internet, try out different compilers, see the resulting assembly code, and share the results.
Stack Overflow - Useful question and answer site for programming, with somewhat peer-reviewed results. Answers tend to be higher quality than other sites.
CPP Insights - See how a compiler views your C++ code. Helps spell out many of the implicit assumptions that you might be making.
The C++ Subreddit - New, useful resources are often announced here, along with interesting discussions about the C++ language.
C++ Core Guidelines - A set of guidelines to help you leverage “modern” C++.
On the class schedule you will see class-by-class videos to watch for discussion. Here are some additional videos that were informative.
C++ Standard Views (96 min) - A much more detailed review of tricks and possibilities with views. I learned a lot from this video, but it is long and goes into lots of detail, so I elected not to include it in the main course.
What Programmers should Know about Memory Allocation. Goes into more detail about memory allocation especially when working with multi-threaded programs. Some of the speed improvements they are able to demonstrate are really impressive.
Modern Template Metaprogramming: A Compendium. This is an old video (covering through C++14), but all of the techniques still work and many are now baked in to the standard library. It has a lot of obscure knowledge about how C++ works that many of you will find fascinating.