B.3 — Introduction to C++17

What is C++17? In September of 2017, the ISO (International Organization for Standardization) approved a new version of C++, called C++17. C++17 contains a fair amount of new content New improvements in C++17 For your interest, here’s a list of the major changes that C++17 adds. Note that this list …

C.1 — The end?

Congratulations! You made it all the way through the tutorials! Take a moment and give yourself a well-deserved (insert something you enjoy here). Now, after breathing a long sigh of relief, you’re probably asking the question, “What next?”. What next? By this point, you should have a solid understanding of …

18.4 — Timing your code

When writing your code, sometimes you’ll run across cases where you’re not sure whether one method or another will be more performant. So how do you tell? One easy way is to time your code to see how long it takes to run. C++11 comes with some functionality in the …

B.2 — Introduction to C++14

What is C++14? On August 18, 2014, the ISO (International Organization for Standardization) approved a new version of C++, called C++14. Unlike C++11, which added a huge amount of new functionality, C++14 is a comparatively minor update, mainly featuring bug fixes and small improvements. New improvements in C++14 For your …

22.7 — Circular dependency issues with std::shared_ptr, and std::weak_ptr

In the previous lesson, we saw how std::shared_ptr allowed us to have multiple smart pointers co-owning the same resource. However, in certain cases, this can become problematic. Consider the following case, where the shared pointers in two separate objects each point at the other object: #include <iostream> #include <memory> // …