Learn your way! Get started

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

with expert Peter Thorsteinson


Watch trailer


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 12/7/2016
Level Intermediate
Runtime 2h 23m
Closed captioning N/A
Transcript N/A
eBooks / courseware N/A
Hands-on labs N/A
Sample code Included
Exams Included


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



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.

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.

Learning Paths

This course is part of the following LearnNowOnline SuccessPaths™:
C++ Development

Meet the expert

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.

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)