Learn Advanced C Programming

Tags:

Discover intermediate to advanced C++, including C++ 11's fantastic additions to the C++ standard.

Last updated 2022-01-10 | 4.6

- Develop complex C++ applications
- Understand C++ 11
- Be in a position to apply for jobs requiring good C++ knowledge

What you'll learn

Develop complex C++ applications
Understand C++ 11
Be in a position to apply for jobs requiring good C++ knowledge

* Requirements

* You will need a grasp of basic C++
* together with a C++ compiler.

Description

This course will take you from a basic knowledge of C++ to using more advanced features of the language. This course is for you if you want to deepen your basic knowledge of C++, you want to learn C++ 11 features, or you've taken my free beginners' C++ course and you're looking for the next step.

We'll start with a look at C++ file handling and move through STL, template classes, operator overloading, lambda expressions, move constructors and much more besides.

At the end of the course I'll show you how to create a program that generates fractal images, using a a few of the language features we've seen in the course and giving you a great work out with smart pointers and arrays.

I'll give you exercises throughout the course, ranging from easy near the start, to quite tricky (but optional!) near the end of the course.

Who this course is for:

  • This course is for anyone with a basic knowledge of C++ who wants to increase their knowledege
  • Suitable for anyone who knows C++ 98 and wants to learn C++ 11 features

Course content

11 sections • 105 lectures

Introduction Preview 03:15

Source Code Preview 01:06

Where to find the source code you see in the tutorials.

Exceptions Basics Preview 13:56

Standard Exceptions Preview 07:06

Custom Exceptions Preview 07:41

Exception Catching Order Preview 07:23

Writing Text Files Preview 06:35

Reading Text Files Preview 07:08

Parsing Text Files Preview 12:12

Structs and Padding Preview 07:57

Reading and Writing Binary Files Preview 13:07

Vectors Preview 10:57

Vectors and Memory Preview 13:36

Two-Dimensional Vectors Preview 07:26

Lists Preview 12:53

Maps Preview 13:48

Custom Objects as Map Values Preview 08:44

Custom Objects as Map Keys Preview 14:02

Multimaps Preview 10:53

Sets Preview 15:20

Stacks and Queues Preview 16:48

Sorting Vectors, Deque and Friend Preview 10:23

STL Complex Data Types Preview 06:32

Overloading the Assignment Operator Preview 16:04

Printing - Overloading Left Bit Shift Preview 11:21

A Complex Number Class Preview 17:44

Overloading Plus Preview 11:52

Overloading Equality Test Preview 06:48

Overloading the Dereference Operator Preview 06:04

Templates - An Important Note Preview 04:01

Template Classes Preview 08:27

Template Functions Preview 04:21

Template Functions and Type Inference Preview 06:37

Function Pointers Preview 09:55

Using Function Pointers Preview 08:11

Object Slicing and Polymorphism Preview 11:56

Abstract Classes and Pure Virtual Functions Preview 12:17

Functors Preview 14:19

Decltype, Typeid and Name Mangling Preview 10:40

The Auto Keyword Preview 08:30

Range-Based Loops Preview 06:00

Nested Template Classes Preview 15:10

A Ring Buffer Class Preview 09:55

Making Classes Iterable Preview 13:38

Initialization in C++ 98 Preview 06:38

Initialization in C++ 11 Preview 11:09

Initializer Lists Preview 06:25

Object Initialization, Default and Delete Preview 10:11

Introducing Lambda Expressions Preview 08:28

Lambda Parameters and Return Types Preview 09:10

Lambda Capture Expressions Preview 08:23

Capturing this With Lambdas Preview 04:48

The Standard Function Type Preview 12:25

Mutable Lambdas Preview 01:31

Delegating Constructors Preview 06:11

Elision and Optimization.avi Preview 10:06

Constructors and Memory Preview 08:07

Rvalues and LValues Preview 07:22

LValue References Preview 05:31

Rvalue References Preview 06:24

Move Constructors Preview 05:07

Move Assignment Operators Preview 05:53

Static Casts Preview 10:32

Dynamic Cast Preview 04:50

Reinterpret Cast Preview 03:18

Perfect Forwarding Preview 08:13

Bind Preview 16:16

Unique Pointers Preview 12:10

Shared Pointers Preview 07:40

Source Code Preview 00:08

Fractal Creator - Hello World Preview 04:41

Bitmap File Headers Preview 10:51

Bitmap Info Headers Preview 05:23

A Bitmap Class Preview 08:47

Bitmap Memory Preview 04:26

Bitmap Header Values Preview 06:58

Writing a Bitmap Preview 11:08

Setting Bitmap Pixels Preview 11:09

Scaling Preview 09:48

A Mandelbrot Class Preview 05:35

The Fractal Algorithm Preview 16:45

Improving the Image Preview 06:11

The Colour Histogram Preview 07:04

Validating the Histogram Preview 06:22

Eliminating Max Iterations Preview 03:18

Storing the Iterations Preview 02:52

Using the Histogram Preview 09:17

Colour Transforms Preview 04:04

A Zoom Class Preview 05:30

The Zoom List Class Preview 07:45

Centering and Scaling Preview 11:01

Applying the Zoom Preview 05:40

Zooming In Preview 04:27

Reorganising Main Preview 06:13

Implementing FractalCreator Preview 14:13

An RGB Class Preview 10:13

Using the RGB Class Preview 06:25

Specifying Color Ranges Preview 08:01

Calculating Range Totals Preview 11:34

Checking the Range Totals Preview 02:46

Getting the Pixel Range (updated) Preview 11:23

Range-Based Coloring Preview 07:54

More Exercises Preview 06:14