Learn to use Language Features Correctly Gain an introduction to metaprogramming Understand how Templates work with functions Explore C++ Idioms and Design Patterns Understand smart pointers
Highlights
Learn to use Language Features Correctly
Gain an introduction to metaprogramming
Understand how Templates work with functions
Explore C++ Idioms and Design Patterns
Understand smart pointers
Learn Policy-Based Design
Exploit Advanced Language & Library Features of C++ And Get Increased Productivity
Apply Containers: Sequence and Associative containers and Adapters
Learn Standard Template Library with concept based programming
Explore Boost and The Boost Libraries
Course Details
Part 1: Using Language Features Correctly
Const and Casting
Const correctness
Overloading on const
C++ cast operators
Mutable
Conversions and Scope
Standard conversions
Converting constructors
User defined conversions
Namespaces
Koenig lookup
Nested types
Static
Proper Exception Handling
Throwing and catching correctly
Exception safe code
Memory Management
The new handler
Placement new
Overloading new and delete
Part 2: Templates
Template Functions
What are templates?
Implementing template functions
Template instantiation
Template Classes
Creating a template class
Class instantiation
Non-type template parameters
Specialization
Template Metaprogramming
A brief introduction to metaprogramming
Part 3: C++ Idioms and Design Patterns
Implementing Value Types
What are value types?
Construction and destruction
Copying and assignment
Operator overloading
The Handle/body Idiom
The Bridge design pattern
Using Bridge to decouple compilation
Implementing handle/body
Functors
What are functors?
Implementing functors using operator overloading
Smart Pointers
What are smart pointers?
Uses of smart pointers in C++
Implementing a simple smart pointer
Reference counting and smart pointers
Std::auto_ptr (deprecated)
Singletons
The Singleton design pattern
A naïve implementation
Problems with Singleton in C++
Controlling Singleton lifetime
Policy-Based Design
Efficient library design
Mixing templates and multiple inheritance
Policies and policy classes
Part 4: Standard Template Library
STL concepts
Concept-based programming
Containers, iterators and algorithms
Containers
Sequence containers
Associative containers
Adapters
Traits
The need for traits
Implementation of traits in STL
Iterators
The Iterator design pattern
Iterator concepts in C++
Iterators and containers
Implementing and using iterators
Stream iterators
Algorithms
The STL standard algorithms
Creating and using algorithm
Part 5: The Boost Libraries
Introduction to Boost
What is Boost?
Obtaining and installing Boost
Overview of the Boost libraries
Common Boost Libraries
boost::tuple
boost::any
boost::ref
The Boost smart pointers
boost::bind
Who Should Attend
Experienced C++ programmers, who are looking to gain advanced skills and programming techniques using C++
History Of JBI Training
JB International (JBI Training) is a London (UK) company which was formed in 1995, delivering Technology training courses to leading organisations.
JBI has always focused on cutting edge technology and is widely recognised as a leading specialist provider of training in the fields of Artificial Intelligence, Machine Learning, Analytics, DevOps, Security....
Instructors & Consultants
We are confident that you will find our instructors to be among the finest around. Our Instructors bring into the classroom the experience of applying their skills in the "Real World" as systems developers and consultants.
Many are leading figures in the world of Technology and are able to add a lot of value to your training. The instructors are personable and able to communicate their technical knowledge effectively to delegates.
Increasingly, clients are looking for consultancy and project mentoring to help get leading-edge systems design , development and implementation underway smoothly.
JBI is able to provide this service and have a number of leading consultants who can add value to client projects.
Employer-led and flexible, with no two apprenticeship journeys ever the same. We blend the best live online and physical classroom teaching experiences supported with the latest self-paced e-learning.
NCC Group assists enterprises and product companies in improving the security of the software they develop. We offer these secure coding training courses to help developers promote a security mind-set and eliminate security flaws before they are created.
C# can be used to create almost anything but is particularly strong at building Windows desktop applications and games. C# can also be used to develop web applications and has become increasingly popular for mobile development too.
This course will change the way you look at your C/C++ code. We'll teach you the common weaknesses and their consequences that can allow hackers to attack your system, and – more importantly – best practices you can apply to protect yourself.
This Ruby Programming course is designed to give delegates the knowledge to develop / maintain Ruby scripts. Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
© 2024 coursetakers.com All Rights Reserved. Terms and Conditions of use | Privacy Policy