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.
Apache Spark is an open-source, high-speed cluster computing solution for analysing enormous amounts of data. Spark is the most comprehensive tool, and many significant corporations have adopted it throughout the world.
This basic course is intended for anyone who requires basic AIX/UNIX user skills to be able to work in an AIX environment. This course is also a prerequisite for many courses in the AIX Systems Administration curriculum.
Perl is a mature, extremely flexible, general-purpose programming language, which is especially well-suited to textual manipulation. In addition to its brilliant built-in-facilities, there are vast freely-accessible libraries of Perl code to help build almost every conceivable application.
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.
If you're just starting to learn how to program in Visual C#, this is the course for you! The beginner course spends the minimum amount of time on the user interface, and instead concentrates on the things you'll need to know, such as declaring variables, writing conditions, looping and using lists...
© 2025 coursetakers.com All Rights Reserved. Terms and Conditions of use | Privacy Policy