EncartaLabs

C++ Standard Template Library

( Duration: 2 Days )

The C++ Standard Template Library training course explains the key attributes of generic, component-based software development, and how the C++ Standard Template Library supports this approach. It covers all major features of the library, including its collection classes, algorithms, iterators, and function objects.

The C++ Standard Template Library course is case-study oriented, developing a variety of small, but useful programs using the C++ Standard Template Library, often showing the same program written in a variety of different ways. In addition, the course is extremely hands on: Participants are given a variety of assignments to develop programs using library features.

By attending C++ Standard Template Library workshop, Participants will learn to:

  • Use STL collection classes and iterators to implement real-world data storage needs
  • Use the key algorithms provided in the STL to quickly develop efficient solutions
  • Extend the STL with their own generic collection classes and algorithms

Participants should have a thorough knowledge of the C++ language in terms of its syntax and of the way in which it works, the nature of pointers and pointer arithmetic for example. Participants need not know object-orientation or object-oriented design.

This workshop is for C++ users who perhaps want to begin acquiring generic programming skills, and who need to use the provisions of the STL in a knowledgeable and insightful way.

COURSE AGENDA

1

C++ Standard Template Library Features and Benefits

  • Why the STL is important
  • Primary uses
  • The key components of the STL
  • Current status
2

Iterators

  • Input and output iterators
  • Iterators and streams
  • Forward iterators
  • Bidirectional and random-access iterators
  • Iterators and pointers
  • Iterator adaptors
  • Insert, back, and front iterators
3

Container Basics

  • Commonalities among containers
  • Contained defined types
  • Iterator-creating operations
  • Copying and assigning containers
4

Sequence Containers

  • An overview of vectors
  • Vector constructors
  • Vectors and space allocation
  • Inserting and deleting elements
  • Vectors and iterators
  • Deques
  • How deques are implemented
  • Deques and iterators
  • Lists
  • List-specific operations
5

Sorted Associative Containers

  • Specifying element ordering
  • Sets
  • Inserting and deleting set elements
  • Multisets
  • Specialized set and multiset operations
  • Maps
  • Key-based access
  • Subscript-based access
  • Multimaps
6

Sequence Adaptors

  • Stacks
  • Queues
  • Priority Queues
7

Sequential Algorithms

  • Read-only operations
  • Counting algorithms
  • Locating elements and subsequences
  • Modifying algorithms
  • Placing values in sequences
  • Copying and replacing elements
  • Transforming collections
  • Removing algorithms
8

Order-Related Algorithms

  • Reversing and rotating algorithms
  • Random ordering and permutations
  • Sorting algorithms
  • Binary search
  • Set algorithms
  • Heap algorithms
9

Numeric Algorithms

  • Accumulation
  • Partial sums
  • Adjacent difference
  • Inner products
  • Minimums and maximums
10

Function Objects

  • Types of function objects
  • Comparison objects
  • Predicates
  • Function adaptors
  • Binders and negators
11

Tips

  • Simplifying STL's Use
  • Using STL efficiently in terms of time
  • Using STL efficiently in terms of space
  • Extending STL

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top