C++ 11, Part 3 of 4: Data Structures and Pointers
Interactive

C++ 11, Part 3 of 4: Data Structures and Pointers

LearnNow Online
Updated Aug 23, 2018

Course description

The key strengths of C++ are its object-oriented features and its basis on classes and structures. Discover how to define data types, reference types, and value types and also how to implement object members inheritance, enumerations, unions, and typedefs. Learn how pointers work, including dereferencing, passing pointers, and pointer arithmetic to access data in objects. Finally, compare and contrast pointers with smart pointers for memory cleanup.

Each LearnNowOnline training course is made up of Modules (typically an hour in length). Within each module there are Topics (typically 15-30 minutes each) and Subtopics (typically 2-5 minutes each). There is a Post Exam for each Module that must be passed with a score of 70% or higher to successfully and fully complete the course.


Prerequisites

This course assumes that students have some rudimentary understanding of general programming concepts. Watching Parts 1 and 2 in this series will be helpful. As with any such course, the more experience you bring to the course, the easier it will be to understand the material that is presented. As a result, if you know C# or Java, that might be somewhat helpful.


Meet the expert

Peter Thorsteinson

Peter Thorsteinson has been working for two decades in many areas of Microsoft-based software development technologies, including all the latest languages, frameworks, and tools. He has been involved in several large scale software development projects and has authored and co-authored several books and courses relating to ASP.NET, AJAX, JavaScript, WPF, WCF, WF, ADO.NET, and LINQ. Peter is currently focusing on ASP.NET MVC, jQuery, Task Parallel Library, Windows Azure, and SharePoint Development.

Video Runtime

143 Minutes

Time to complete

254 Minutes

Course Outline

Classes and Structs

Classes and Structs (21:44)

  • Introduction (01:10)
  • Classes and Structs (01:43)
  • Demo: Classes and Structs (04:40)
  • Demo: Constructors (03:56)
  • Demo: Inheritance and Scope (04:56)
  • Demo: Complicated Example (04:32)
  • Summary (00:45)

Enums (13:56)

  • Introduction (00:38)
  • Enums (05:48)
  • Demo: Defining an Enum (04:35)
  • Demo: Using Enums (02:22)
  • Summary (00:30)

Unions (15:53)

  • Introduction (00:34)
  • Unions (04:54)
  • Demo: Union (04:45)
  • Demo: Discriminated Union (05:12)
  • Summary (00:26)

Typedefs (11:33)

  • Introduction (00:54)
  • Demo: Simple Typedef (05:48)
  • Demo: Complex Typedef (04:21)
  • Summary (00:30)
Pointers

Introduction to Pointers (11:04)

  • Introduction (01:08)
  • Demo: Intro to Pointers (03:24)
  • Demo: Swapping Values (05:57)
  • Summary (00:34)

Pointers and Array Indexing (12:02)

  • Introduction (00:33)
  • Demo: Address-of and Dereference (05:06)
  • Demo: Arithmetic and Array Indexing (05:57)
  • Summary (00:24)

Using Const with Pointers (09:14)

  • Introduction (00:32)
  • Demo: Using Const (04:48)
  • Demo: Heap Objects and Member Operator (03:32)
  • Summary (00:21)

Pointers to String Literals (11:56)

  • Introduction (01:13)
  • Demo: String Literals (05:22)
  • Demo: Voids and Nulls (04:35)
  • Summary (00:44)

References (14:16)

  • Introduction (00:53)
  • Demo: References vs. Pointers (03:43)
  • Demo: References (03:45)
  • Demo: Risky Referencing (05:26)
  • Summary (00:26)

Smart Pointers (21:54)

  • Introduction (00:37)
  • Smart Pointers (06:50)
  • Demo: Raw Pointers (05:59)
  • Demo: Unique and Shared Pointers (05:26)
  • Demo: Weak Pointers (02:35)
  • Summary (00:25)
;