Modern C++ 11 And 14 Masterclass

  • Soujanya
  • 14 (Registered)
  • (3 Reviews)
C++
12
Mar

Duration:

3 days or 24 hours

Description:

A perfectly designed and custom training which, focuses on designing and developing solving software requirement using C++ to enhance the skills required in every day programming challenge.

This makes it significantly different from most C++ courses by focusing on C++ internals above design principles. This customized training is backed up by a comprehensive coverage demonstrating the best practices in C++ standards 98/+03/+11/+14.

Course Objectives:

  • To understand C++ internals with proven examples
  • Would be able to apply C++ skills to construct code for their project
  • Get an insight to develop C++ software in a systematic manner
  • Would be able to user C++ 11 & 14 extensions in software
  • Would be able to write secured code that cannot be easily exploited
  • Get an understanding of robust software design in C++

Target Audience:

  • Programmers new in the area of Software Engineering that uses C++
  • Developers embarking on projects using C++‐based techniques for their projects
  • Professionals looking forward to upgrade the knowledge to apply skills

Pre-Requisites:

  • Delegates are desired to be aware of OOPS principals but it is not a mandatory

Detailed Coverage:

  1. C++ Introduction Timeline
    • Features of C++ (Revision)
    • Goals for C++ and TR11/14/17
  2. Build Essentials in C++
    • Monolithic build, scope, and translations to executables
    • Std 11/14 switchs and __cplusplus
    • Separately Translated Program and monolithic builds
  3. Programming Paradigms
    • Procedural Programming
    • Object-Oriented Programming
    • MDD, UML view, OOAD, SOLID
    • Relationships and Responsibility in OOPS
  4. Introduction to C++ Specific Features
    • Data Declaration and scope, Functions in C++: inline
    • default argument, Overloading, References, Namespaces
    • Inbuilt support for object oriented features
    • RTTI, exception handling, templates
    • Large-Scale Projects Are More Susceptible to Name Clashes
    • Koenig Lookup
    • Namespace Aliases
    • Namespace Utilization Policy in Large-Scale Projects
    • Namespaces and Version Control
    • Scope Resolution Operator Should Not Be Used to Designate Global Names
    • Standard Headers Names
    • Restrictions on Namespaces
    • Namespace std Can Not Be Modified
    • User-Defined new and delete Cannot Be Declared in a Namespace
  5. Classes and Objects
    • Representing Objects in C++
  6. Object members and special member functions
    • The initializations in C++ using constructor
    • OAD: C++ Object Implementation
    • How a compiler interprets Object
    • Special member functions
    • Constructors,Destructors
    • Copy and move Constructor
    • Assignment move in Operator
    • Blocking Object Copying
    • Designing a class around mutable, logical const
  7. Object Initialization & Cleanup
    • Compiler Synthesized Constructor & Destructor
    • Deep copy v/s Shallow copy
    • explicit constructor
    • Copy Constructor v/s Assignment operator
    • Initialization v/s Assignment
    • Order of Initialization
    • Aggregate initialization
  8. Class Members and Designing Software
    • Static data
    • Static methods
    • Object instance control and sharing
    • A minimal pattern study: singleton and its variance
    • lmitations, and extensions
  9. Memory management techniques in C++
    • Types of Storage
    • POD (Plain Old Data) and non-POD Objects
    • The Lifetime of a POD Object
    • The Lifetime of a non-POD Object
    • malloc() and free() Versus new and delete
    • new and delete
    • Allocating and Deallocating Arrays Using new[] anddelete[]
  10. Extending the Encapsulation in Design
    • Friend and classes
    • Object communication
    • Friend functions, Friend classes
    • Const objects and const member functions
    • Object composition & destruction mechanism
    • Boundary classes & object interfaces
  11. Overloading Operators
    • The operator function and its interpretation w.r.t object expressions
    • Using member functions & friend functions – when to use what
    • Implicit/explicit overloading mechanism
    • Returning objects & assignment operator
    • Overloading new & delete operators
  12. Special operator overloads: usage in STL as case study
    • operator == , operator [ ], operator ( ), operator –>, operator comma (,)
  13. Code Browsing and reverse engineering
    • CScope ,Cflow
  14. Objects in Hierarchy Design: Inheritance in C++
    • Example frameworks that are built on inheritance: QT, WX Widget
    • Specialization and Derived Classes
    • Generalization and Abstract class, interfaces
    • Types of inheritance
    • Single level, multi-level, multiple, hierarchical, hybrid
    • Inheritance – is it allocation or accessibility
    • The protected access specifier
    • Inheritance in private, protected & public mode
    • Constructors & destructors in a derived class
    • Multiple inheritance
    • Virtual Base class Invoking base class constructors
    • Why a constructor is not inherited
  15. Is-a & Has-a relationship
    • Nested classes & Containership
  16. Runtime Polymorphism, Virtual Functions & Dynamic Binding
    • Pointers to Class Members
    • Base class pointers & derived class objects
    • Virtual functions & base class pointers
    • Virtual functions & base class reference
    • Dynamic Binding v/s Early Binding
    • Pure virtual functions
    • Virtual destructors
    • Abstract classes & applications
  17. Runtime Type Identification & Casting Operators
    • Runtime Polymorphism & RTTI
    • typeid & type_info
    • dynamic_cast, const_cast, static_cast, reinterpret_cast
  18. Templates in Depth
    • Implicit instantiation
    • Explicit instantiation
    • Specialization: complete and partial
    • Function Templates
    • Class Templates
    • Declaration of a Class Template
    • Instantiation and Specialization
    • Explicit Specialization of a Class Template
    • Specializations of Class Template Functions
    • Template Arguments
    • Default Type Arguments
    • Static Data Members
    • Friendship
    • Function Templates
    • Performance Considerations
    • Type Equivalence
    • Avoiding Unnecessary Instantiations
    • Explicit Template Instantiation
    • Interaction with Other Language Feature
  19. The Design of STL for handling Modern and Complex Data handling
    • Containers, Algorithms, and iterators
    • Using STL/STD Containers
    • Using Algorithm and iterators with STD
    • Exploring various containers, iterators and algorithms
    • Vector, List, Map, Set
    • Array, tuple, unordered_map, unordered_set
  20. Language Feature extensions
    • Initialization, Initializer lists
    • Uniform initialization
    • Move Semantics
    • Lambda
    • Auto, decltype, trailing return type, auto vs. decltype
    • Range-based for loop ,static_assert, constexpr functions/data, Inline namespaces
  21. Concurrency in C++
    • STD Threads Passing, arguments to threads
    • Data lifetime considerations, Synchronization with mutexes and locking
    • Acquiring multiple locks, mutex types
    • Returning values from threads using futures and async, Launch policies
    • Condition variables, Thread-local storage
  22. Concurrency in C++
    • STD Threads Passing, arguments to threads
    • Data lifetime considerations, Synchronization with mutexes and locking
    • Acquiring multiple locks, mutex types
    • Returning values from threads using futures and async, Launch policies
    • Condition variables, Thread-local storage

 

Enroll Now

Course Content

Time: 3 days

Curriculum is empty

Instructor

4.7

3 rating

5 stars
67%
4 stars
33%
3 stars
0%
2 stars
0%
1 star
0%
  • Prakash A

    Best in the Industry

    Trainer is great speaker. It was interesting to listen. Course was great!
  • Koyal M

    Learning at Ease

    The way he explains things is really awesome. Comparison given with real world coding is excellent.
Free

Customized, Immersive, Hands-On Driven

Includes

  • Real time virtual classes
  • Pre course reading material
  • Suppliment resources
  • Language: English
  • Certificate of completion

Enroll Now

Your Dream Course Is Only A Step Away




<


Your Dream Course Is Only A Step Away




<


Your Dream Course Is Only A Step Away




<