Loading...

Modern C++ For Developer 11 And 14

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

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.

Duration:
24 hours / 3 days

Key Takeaway:

  • 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++

Delegates will learn:

  • How to use the object principles in a C++ application?
  • Where C++ designs is being used in the development
  • The core features provided by C++ for OO development methods
  • The extensions of new features in C++11 and 14

Prerequisites:

  • This course assumes the prior programming language practices of C
  • Delegates are desired to be aware of OOPS principals but it is not a mandatory

Who Should attend:

  • 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

Course Materials:

  • Soft References as an online reference would be share via google drive
  • Code Base to analyze OOPS/OOAD (Will be shared to the participants on google drive/git)

Lab/Environment

  • A PC/laptop with a recent g++/clang++ on Linux/Win/Mac Environment
  • Pdf reader
  • Internet connection to access the data from gdrive/git

Detailed Coverage:

  • C++ Introduction Timeline
  • Features of C++ (Revision)
  • Goals for C++ and TR11/14/17
  • Build Essentials in C++
  • Monolithic build, scope, and translations to executables
  • Std 11/14 switchs and __cplusplus
  • Separately Translated Program and monolithic builds
  • Programming Paradigms
  • Procedural Programming
  • Object‐Oriented Programming
  • MDD, UML view, OOAD, SOLID
  • Relationships and Responsibility in OOPS
  • 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
  • Namespaces
  • 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
  • Classes and Objects
  • Representing Objects in C++
  • 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
  • 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
  • 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
  • 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[]
  • 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
  • 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
  • Special operator overloads: usage in STL as case study
  • operator == , operator [ ], operator ( ), operator –>, operator comma (,)
  • Code Browsing and reverse engineering
  • CScope
  • Cflow
  •  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
  • Is‐a & Has‐a relationship
  • Nested classes & Containership
  • 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
  • Runtime Type Identification & Casting Operators
  • Runtime Polymorphism & RTTI
  • typeid & type_info
  • dynamic_cast, const_cast, static_cast, reinterpret_cast
  • 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 Features
  • 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
  •  C++11/14
  • 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
  • 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

 

 

Course Content

Total learning: / 1 quiz Time: 3 days

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

Money-Back Guarantee, Condition Applied...

Includes

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

Enroll Now