C++ Standard Template Library Training in Louisville
We offer private customized training for groups of 3 or more attendees.
|
||
Course Description |
||
The C++ Standard Template Library is a large part of the C++ Standard Library. STL consists of three major components: data structures, algorithms and iterators. Every data structure you are likely to want is available, including familiar containers such as array, list, deque, stack, queue, set and others. Also available are a plethora of algorithms, such as sort(), search(), merge(), find() and others. The third major component of STL, iterators, link the algorithms to the data structures. Iterators are a generalization of pointers, and are designed for efficient traversal through the data structures.
The course consists of two modules. The first module, Fundamentals of STL, begins with an overview of C++ templates. If your students are already familiar with templates, this chapter can be covered briefly as a review. Otherwise, it should be covered thoroughly, including the exercises at the end of the chapter. The second chapter gives an overview of STL, including its history and evolution. It also surveys the major features of STL. There is no lab for this chapter, which is intended to provide an orientation to the whole subject, not the details. Chapter 3 contains a large number of simple examples illustrating the main features of STL. It could be called "a tour of STL." At this point students should already have a reasonable working knowledge of the subject. The rest of the course elaborates on the individual features. Chapter 4 covers STL containers, and Chapter 5 covers STL iterators.
The second module, Intermediate STL, covers the remaining features of STL. Chapter 1 introduces function objects, which are objects of any class that overloads the function call operator, operator(). Most STL algorithms accept a function object as a parameter, allowing the programmer to vary the way an algorithm works. Chapter 2 covers STL algorithms. The third chapter discusses container adaptors, which are STL components that can be used to change the interface of another component. They support the creation of STL classes such as stack and queue from lower-level components such as vector and list. The course concludes with an introduction to allocators, which are used by STL to encapsulates memory model information.
Course Length: 3 Days
Course Tuition: $1190 (US) |
Prerequisites |
|
C++ Programming |
Course Outline |
An Overview of Templates
Overview of the Standard Template Library
Examples from STL
STL Containers
STL Iterators
Function Objects
STL Algorithms
Container Adaptors
Allocators |
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
- VMware vSphere 8.0 Boot Camp
9 December, 2024 - 13 December, 2024 - Object-Oriented Programming in C# Rev. 6.1
4 November, 2024 - 8 November, 2024 - Ruby on Rails
5 December, 2024 - 6 December, 2024 - RHCSA EXAM PREP
18 November, 2024 - 22 November, 2024 - Go Language Essentials
18 November, 2024 - 21 November, 2024 - See our complete public course listing
C++ Programming Uses & Stats
Difficulty
|
Popularity
|
Year Created 1983 |
Pros
Popular:
C/C++ is everywhere. In particular, they power more technologies than we give it credit for.
Flexible:
C++ is a multi-paradigm coding language. This means that it supports other styles such as procedural programming as well as Object-Oriented Programming.
Fast:
Because it is compiled, C++ gains a lot of speed. and is the language of choice for some applications as an example in the finance industry, where small differences in speed in high-frequency trading platforms can make the difference between a profit or a loss.
Job Opportunities:
C++ developers are high in demand. There are over 14,000 C++ open positions on linkedIn alone.
Similarity to Other Languages:
Many other languages like C, C#, and Java have very similar syntax to C++, making them easy to learn for those that already know C++.
|
Cons
Difficult to Learn:
C++ syntax is complex and the standard library is small, making C++ difficult to learn for someone with little programming experience. Although, it's believed to be more difficult to learn C++ than other languages, more accurately it probably takes a bigger investment of your time and effort to learn than some other languages.
Strict Syntax:
There is not much flexibility to the syntax, so it can be difficult to write code in a readable way.
Little Memory Management:
C++ does very little memory management, forcing the programmer to do most of it themselves.
Debugging Issues:
C++ can be difficult and complex to debug when it is used for web applications.
|
C++ Programming Job Market |
Average Salary
|
Job Count
|
Top Job Locations
New York City |
Complimentary Skills to have along with C++ Programming
C/C++ are the grandfather of most other languages. Once you understand C syntax and (OOP) Object Oriented Programming, you're well on your way to greener pastures. Since the .NET development ecosystem spans a wide array of capabilities and tools, it is difficult for .NET developers to know which .NET development skills and training to pursue in order to increase their marketability — and earning potential. For that reason, learning supplemental languages such as Java, JavaScript, Python, C/C++, and others is expected in today’s competitive skill-set driven playing field. |