Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
C++: Advanced Topics (2018)

C++: Advanced Topics (2018)

3h 16mAdvanced2018-12-20

Authors

Bill Weinman

Bill Weinman

Tech Advocate, Entrepreneur, Programming Expert

Course details

Want to deepen your understanding of C++? In this course, explore some of the more complex aspects of this core programming language, from smart pointers to move semantics. Instructor Bill Weinman begins by diving deeper into the subject of classes and objects, including class inheritance. Next, Bill goes over smart pointers, which provide the functionality of a pointer with managed memory allocation. He also covers move semantics, including the copy-and-swap idiom; lambda functions; working with a unit test library; and creating a custom string library. As he wraps up the course, Bill shares practical applications of these concepts, helping you grasp how to leverage your new skills in your own C++ projects.

Topics include:
Classes and objects
Constructors and conversion operators
Class inheritance
Smart pointers
Move semantics
Lambda syntax
The C preprocessor
Unit tests
Building a custom string library

Skills covered

C++AdvancedProgramming LanguagesOpen SourceSoftware Development

Concepts

0. Introduction

  • 01 - Advanced programming with C++

1. Classes and Objects

  • 02 - Defining a class
  • 03 - Data members
  • 04 - Function members
  • 05 - Constructors and destructors
  • 06 - Explicit constructors
  • 07 - Namespaces
  • 08 - Self-referencing pointer
  • 09 - Operator overloads
  • 10 - Non-member operators
  • 11 - Conversion operators
  • 12 - Increment and decrement operators
  • 13 - Allocating object memory
  • 14 - Functors
  • 15 - Example - numword

2. Class Inheritance

  • 16 - Overview of inheritance
  • 17 - Simple inheritance
  • 18 - Accessing the base class
  • 19 - Friendship
  • 20 - Multiple inheritance
  • 21 - Polymorphism

3. Smart Pointers

  • 22 - Why smart pointers
  • 23 - Unique pointer
  • 24 - Shared pointer
  • 25 - Weak pointer
  • 26 - Using a custom deleter
  • 27 - Choosing a smart pointer

4. Move Semantics

  • 28 - What is move semantics
  • 29 - Understanding lvalues and rvalues
  • 30 - Using std - - move
  • 31 - The move constructor
  • 32 - The move assignment operator
  • 33 - The copy-and-swap idiom
  • 34 - Rule of five

5. Lambda Functions

  • 35 - Lambda syntax
  • 36 - Captures
  • 37 - Polymorphic lambdas

6. The C Preprocessor

  • 38 - About the preprocessor
  • 39 - Macros as constants
  • 40 - Including files
  • 41 - Conditional compilation
  • 42 - Defining macros
  • 43 - Including files only once

7. Unit Tests

  • 44 - The importance of unit tests
  • 45 - A unit test library

8. Custom String Library

  • 46 - Why non-STL strings
  • 47 - Overview of BWString
  • 48 - Constructors
  • 49 - Memory management
  • 50 - Operators
  • 51 - Utility methods
  • 52 - Find and replace
  • 53 - Splitting strings
  • 54 - Using the BWString library

Conclusion

  • 55 - Next steps

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
Zarinpal
Zibal