C++ Advanced Topics
Learn to write modern C++: expressive, readable, fast, and secure code that’s just more fun than the old way.
Authored by:
Kate Gregory
Duration: 5h 45m
Level: Advanced
Released: 3/8/2012
Features:
Duration: 5h 45m
Level: Advanced
Released: 3/8/2012
Features:
Course Rating:
You are currently not signed in. Please sign in to access subscriber-only content.
Currently using: {{getCurrentPlayerName()}} [Change]
| expand all | collapse all | Progress | Duration | |
|---|---|---|---|
Avoid Manual Memory Management |
|
00:56:22 | |
|
Introduction
|
|
00:35 | |
|
Course Overview
|
|
04:08 | |
|
Manual Memory Management
|
|
03:14 | |
|
Some Rules
|
|
03:13 | |
|
Three Pointer Uses
|
|
02:39 | |
|
Managing Member Variables
|
|
04:43 | |
|
Demo: Managing Member Variables
|
|
27:04 | |
|
Observing Other Objects
|
|
03:59 | |
|
Truly Shared Objects
|
|
03:07 | |
|
Summary
|
|
03:40 | |
Use Lambdas |
|
00:28:28 | |
|
Introduction
|
|
00:28 | |
|
Syntax Reminder
|
|
01:34 | |
|
Syntactic Sugar
|
|
02:43 | |
|
Where to Use Lambdas
|
|
02:20 | |
|
Capture Rules
|
|
03:28 | |
|
Demo: Capturing
|
|
07:18 | |
|
Signature and Return
|
|
01:41 | |
|
Demo: Signature and Return
|
|
05:38 | |
|
Lambda Length
|
|
02:31 | |
|
Summary
|
|
00:47 | |
Use Standard Containers |
|
00:40:37 | |
|
Introduction
|
|
00:37 | |
|
Containers Save
|
|
03:49 | |
|
One Rule
|
|
01:58 | |
|
Demo: vector
|
|
07:26 | |
|
list
|
|
03:09 | |
|
Demo: vector and list
|
|
14:36 | |
|
Know Your Containers
|
|
05:51 | |
|
Summary
|
|
03:11 | |
Use Standard Algorithms |
|
00:35:14 | |
|
Introduction
|
|
00:31 | |
|
Why Not Roll Your Own?
|
|
04:01 | |
|
Where are They?
|
|
04:11 | |
|
Say What You Mean
|
|
02:40 | |
|
Demo: Say What You Mean
|
|
06:14 | |
|
Silly Errors
|
|
01:19 | |
|
Demo: Silly Errors
|
|
08:45 | |
|
Performance and Change
|
|
01:46 | |
|
Demo: Changing Container
|
|
04:04 | |
|
Summary
|
|
01:43 | |
Embrace Move Semantics |
|
00:38:18 | |
|
Introduction
|
|
00:39 | |
|
Move Semantics
|
|
03:04 | |
|
Demo: List and Vector Revisited
|
|
15:11 | |
|
Rvalue Notation
|
|
03:32 | |
|
Why Do You Care?
|
|
03:17 | |
|
Demo: Moving and Copying
|
|
09:39 | |
|
Summary
|
|
02:56 | |
Follow Style Rules |
|
00:53:37 | |
|
Introduction
|
|
00:29 | |
|
Guidelines
|
|
01:38 | |
|
Default Parameters
|
|
02:11 | |
|
Demo: Default Parameters
|
|
04:10 | |
|
Use nullptr
|
|
02:55 | |
|
Demo: nullptr
|
|
05:17 | |
|
No Magic Numbers
|
|
01:37 | |
|
Demo: No Magic Numbers
|
|
09:17 | |
|
Magic Number Replacements
|
|
02:29 | |
|
Get const from the Start
|
|
05:15 | |
|
Treat Warnings as Errors
|
|
04:25 | |
|
Demo: Warnings
|
|
10:09 | |
|
Summary
|
|
03:45 | |
Consider the PImpl Idiom |
|
00:37:18 | |
|
Introduction
|
|
00:42 | |
|
Header Files
|
|
04:03 | |
|
Demo: Header Changes
|
|
09:35 | |
|
Forward Declaration
|
|
01:47 | |
|
PImpl Is...
|
|
01:51 | |
|
Basic Structure
|
|
02:30 | |
|
Demo: PImpl with unique_ptr
|
|
09:53 | |
|
Structure with unique_ptr
|
|
02:00 | |
|
When to Use PImpl
|
|
04:57 | |
Stop Writing C With Classes |
|
00:55:51 | |
|
Introduction
|
|
00:41 | |
|
If It Aint Broke...
|
|
02:57 | |
|
Strings
|
|
07:22 | |
|
printf
|
|
05:57 | |
|
Arrays
|
|
06:14 | |
|
Macro definitions
|
|
03:25 | |
|
Algorithms
|
|
08:18 | |
|
Function Pointers
|
|
07:51 | |
|
auto
|
|
01:27 | |
|
Classes
|
|
03:41 | |
|
What You Saw
|
|
04:06 | |
|
Course Summary
|
|
03:52 |
Avoid Manual Memory Management