Have a Question About This Course?





    Image

    Advanced C++ Programming

    C++ Programming Course
    Advanced C++ equips you with the confidence to effectively tackle any C++ project. Throughout this course, you'll gain insights into structuring your code for improved readability, optimizing code for enhanced speed and functionality, and seamlessly integrating and generating libraries.

    C++ stands as one of the most prevalent programming languages utilized across a spectrum of domains, ranging from gaming to graphical user interface (GUI) programming and even operating systems. If you aspire to broaden your career prospects, mastering the advanced facets of C++ becomes imperative.

    The course commences with an exploration of advanced C++ concepts, aiding you in deciphering the intricate C++ type system and comprehending the compilation process that transforms source code into object code. Subsequently, you'll delve into identifying the tools necessary to control execution flow, capture data, and manage data transmission. Through the creation of small-scale models, you'll uncover the utilization of advanced lambdas and captures, and proficiently articulate common API design patterns in C++.

    As you progress through subsequent lessons, you'll delve into strategies to optimize your code, encompassing topics such as memory alignment, cache access, and program execution time. The culminating lesson equips you with insights into maximizing performance by delving into modern CPU branch prediction mechanisms and strategies for rendering your code cache-friendly.

    Advanced C++ Programming Training Objectives

    • Delve into the anatomy and workflow of C++
    • Study the pros and cons of different approaches to coding in C++
    • Test
    • run
    • and debug your programs
    • Link object files as a dynamic library
    • Use templates
    • SFINAE
    • constexpr if expressions and variadic templates
    • Apply best practice to resource management

    Need Assistance Finding the Right Training Solution

    Our Consultants are here to assist you

    Key Point of Training Programs

    We have different work process to go step by step for complete our working process in effective way.
    • Advanced C++ Programming Prerequisites

      Scope

      This fast-paced course is designed to teach you concepts quickly through descriptive graphics and challenging exercises. The course will have ``call-outs,`` with key take away points and the most common pitfalls to keep you interested, while breaking up the topics into manageable sections.

      Target Audience

      If you have worked in C++ but want to learn how to make the most of this language, especially for large projects, this course is for you. A general understanding of programming and knowledge of using an editor to produce code files in project directories is a must. Some experience with strongly typed languages, such as C and C++, is also recommended.

    • Advanced C++ Programming Training Format

      In-Person

      Online

    • Advanced C++ Programming Outline

      Lesson 1: Anatomy of Portable C++ Software

      Managing C++ Projects
      Writing Readable Code
      Lesson 2A: No Ducks Allowed – Types and Deduction

      C++ Types
      Creating User Types
      Structuring our Code
      Lesson 2B: No Ducks Allowed – Templates and Deduction

      Inheritance, Polymorphism, and Interfaces
      Templates – Generic Programming
      Type Aliases – typedef and using
      Class Templates
      Lesson 3: No Leaks Allowed – Exceptions and Resources

      Exceptions in C++
      RAII and the STL
      Move Semantics
      Name Lookup
      Caveat Emptor
      Lesson 4: Separation of Concerns – Software Architecture, Functions, and Variadic Templates

      Function Objects and Lambda Expressions
      Variadic Templates
      Lesson 5: The Philosophers' Dinner – Threads and Concurrency

      Synchronous, Asynchronous, and Threaded Execution
      Review Synchronization, Data Hazards, and Race Conditions
      Future, Promises, and Async
      Lesson 6: Streams and I/O

      File I/O Implementation Classes
      String I/O Implementation
      I/O Manipulators
      Making Additional Streams
      Using Macros
      Lesson 7: Everybody Falls, It's How You Get Back Up – Testing and Debugging

      Assertions
      Unit Testing and Mock Testing
      Understanding Exception Handling
      Breakpoints, Watchpoints, and Data Visualization
      Lesson 8: Need for Speed – Performance and Optimization

      Performance Measurement
      Runtime Profiling
      Optimization Strategies
      Cache Friendly Code