This course is about the practical application of the modern C++ language. It's about using (and creating) modern C++ libraries. You're going to learn how to use a modern C++ style of programming. You will see how it helps to turn C++ into a modern language that's intuitive and elegant. This course covers the essential skills needed by any C++ developer to handle resources and write efficient classes that work well with standard containers. You will also learn all about the standard smart pointers, containers, strings, and regular expressions. Along the way, you'll pick up essential tips and tricks to get the best out of modern C++ using C++11 and beyond.
Getting Started My name is Kenny Kerr and I'd like to welcome you to the Modern C++ Libraries course here on Pluralsight. This course is about the practical application of the Modern C++ language including C++11 and C++14. This is a course about using and creating Modern C++ Libraries. Every C++ Developer should be a Library Developer. C++ is a language for Library Developers by Library Developers. I'm not saying that every developer should have to write their own implementation of SDL just that every developer in the natural course of writing C++ code can and should write Library Code. It may be as simple as writing a C++ clause that works well with standard containers. Or it may be something a little more elaborate, making use of a platform specific feature provided by the compiler or operating system that go beyond the facilities provided by the Standard C++ Library. In this first module I'm going to show you how to get started with Visual C++ to prepare some basic error handling and debugging support. Even in this area of error handling and debugging the developer has an opportunity to write code that forms part of a library, code that is reused and relied upon. This course it not, however, specifically about Visual C++. Indeed you can take much of what you learn in this course and apply it to any standard C++ Compiler. Visual C++ is just a widely used compiler that's familiar and approachable to many people. I'll be using Visual C++ 2013. Of course, I'm not going to spend much time looking at the specifics of Visual C++, the IDE or the Build environment. This course is about writing code. So, let's get started.
Smart Pointers Welcome back to the Modern C++ Libraries course here on Pluralsight. My name is Kenny Kerr and in this module we're going to look at some terrific Smart Pointers that I highly recommend. Most of the Smart Pointers I'll be discussing are included with the Standard C++ Library and thus should be included with every Modern C++ Compiler. Smart Pointers are extremely useful and in many cases essential for the correct and efficient use of C++. It can also teach us a lot about writing Smart Clauses, the topic of the next module, so it's a good place to start.
Smart Classes Welcome back to Modern C++ Libraries here on Pluralsight. My name is Kenny Kerr and in this module we're going to explore the design of Smart Classes. Smart pointers are great and they can teach us a lot about writing smart classes. The previous module examined the standard resource management pointer classes provided by the standard C++ library. This module is going to take a practical look at writing your own smart classes, classes that correctly manage resources and do so efficiently.
Container Essentials Welcome back to Modern C++ Libraries here on Pluralsight. My name is Kenny Kerr and in this module we're going to explore some of the standard C++ containers available with most modern compilers. You'll learn more about what it takes to make your smart classes, such as unique handle from the previous module, work really well with standard containers. We're going to explore the most common and useful standard containers, how to use them most effectively and efficiently with the view on a modern style of C++ programming. Although the standard C++ library containers have been around for some time, there are some new additions and notable changes to the programming model thanks to C++ 11 and C++ 14. Let's get started.
Associative Containers Welcome back to Modern C++ Libraries here on Pluralsight. My name is Kenny Kerr and in this module we're going to explore the Associative Containers in the standard C++ library. C++ 11 effectively doubled the number of associative containers with the introduction of containers based on hash functions. That can in many cases provide dramatically improved performance. Let's take a look.
Strings and Regular Expressions Welcome back to Modern C++ Libraries here on Pluralsight. My name is Kenny Kerr and in this module we're going to explore Strings, Regular Expressions, and Related Algorithms. There are plenty of ways to deal with strings in C++, the standard C++ library provides a basic string type. You can of course use C style strings and algorithms inherited from the C standard library when you need a bit more performance or control. Or if you're looking for expressive power, there's a wonderful regular expression library. And that's just what's available out of the box with any modern C++ compiler. This module is going to be a fast paced exploration of string manipulation touching on many aspects of basic string handling and searching.