Visa utbildning.se som: Mobil

Applied Modern C++

Informator
Kort om utbildningen
Längd: 4 dagar
Pris: 31 450 SEK exkl. moms
Nästa tillfälle: 2018-10-09 - Sverige
Ort: Rikstäckande
Utbildare: Informator plus
Kommande starter
Sverige
2018-10-09  
31 450 SEK
2018-10-09  
31 450 SEK
2018-10-09  
31 450 SEK
2018-12-11  
31 450 SEK
2018-12-11  
31 450 SEK
2018-12-11  
31 450 SEK

Kursbeskrivning

This is the course for experienced C++ programmers curious about the heavily extended C++11 Standard Library, and the design principles in the tradition of the STL and Boost Libraries - policy based design.

Practical experience equivalent to course T104 C++11 - Advanced Programming.

Developers with an extensive working knowledge of C++.

As an introduction there is a through presentation of the new language features in C++11. Course focus is on how to use the Standard and the Boost Libraries by understanding policy based design. For a deep dive course in the language C++ itself, see T104 C++ Advanced Programming.

Several labs illustrate the theory by using the classes of the libraries. An incremental lab series builds a multithreaded in-memory relational database with serialization. All produced code is platform independent and all labs are IDE independent.

Objectives:

  • A good knowledge of what is new in C++11, both in the language and in the Standard Library.
  • A full understanding of Policy Based Design using templates and policy objects.
  • Understanding the Observer Pattern, also called signalling, events, etc.
  • Understanding and using idioms for resource allocation and smart pointers.
  • Knowledge and experience on some of the Boost library classes and upcoming TR2 classes.

Course Outline:

1. Introduction

2. New Features of C++11

  • auto and decltype
  • nullptr
  • Range Based for
  • override and final
  • Unicode Support
  • default and delete
  • explicit Converters
  • static_assert
  • enum class
  • long long
  • Exception declarations

3. Uniform Initialization

  • In the Class Declaration
  • Inter-constructor Calls
  • Inherited Constructors
  • Curly Bracket Initialization

4. Collections and Algorithms

  • Overview Collections and Algorithms
  • Template Collections
  • The String Class
  • Iterators
  • Some Boost Collections

5. Templates

  • Template Basics
  • Parameters
  • typedef and using
  • Typename Ambiguity
  • Specialization and Partial Specialization
  • Static Members
  • Template Metaprogramming
  • Explicit Instantiation and extern

6. Function Objects and Lambdas

  • Function Object with Attributes
  • Function Object with a Function Pointer
  • std::bind()
  • Lambda Expressions

7. Policy Objects

  • Function Pointer for Callback
  • Function Object for Callback
  • Lambda for Callback
  • Member Policy Objects
  • Examples From the Standard Library

8. The Observer Pattern

  • The Observer Design Pattern
  • Implementations
  • A Member Function Object
  • std::function class

9. Resource Allocation Designs

  • Resource Allocating Classes
  • Moving vs Copying
  • R-value References

10. Smart Pointers

  • Smart Pointer Implementation
  • std::auto_ptr
  • std::unique_ptr
  • std::shared_ptr and std::weak_ptr
  • Smart Pointers for Any Resource
  • Smart Pointers and Inheritance

11. Streams, Files and Serialization

  • The Standard Streams Library
  • Boost Filesystem Library (in TR2)
  • Boost Serialization Library

12. Time

  • The C Library Time Functions
  • The std::chrono namespace
  • std::chrono::duration
  • std::chrono::time_point
  • Clocks
  • Displaying Time
  • Boost Timers Library

13. Random Numbers

  • The C Library Random Functions
  • Random Engines
  • Random Seeding
  • std::random_device
  • Distributions
  • Creating a Generator

14. Regular Expressions

  • Regular Expressions Basics
  • std::regex and std::wregex
  • Regular Expressions Versions
  • Validate a String
  • Search a String
  • Replace Substrings

15. Threads

  • Thread Basics
  • std::thread Class
  • Synchronization Classes
  • Standard Atomic Library

 

"Mycket kunnig och mycket pedagogisk lärare." 
/ en nöjd deltagare 21/9-2015 "Kursen är mycket bra organiserad och lärorik, jag kommer att rekommendera den till mina kollegor." 
/ en nöjd deltagare 11/10-2014    

Intresseanmälan

Fyll i dina uppgifter om du är intresserad och vill veta mer om kursen: Applied Modern C++.


En intresseanmälan ger dig möjlighet att komma i kontakt med utbildningsarrangören


Du blir kontaktad och får mer information - För att kunna ta rätt beslut


En intresseanmälan är ingen bokning. Du förbinder dig inte till något

Errors
Valfritt
Valfritt
Valfritt
Valfritt
Valfritt

Informator

Informator

Informator Time-to-Skills™

Informator är ett utbildningsföretag som stärker individens, gruppens och organisationens konkurrensförmåga genom att underhålla, uppdatera och tillföra relevant kunskap inom IT. Sedan 1990 har informator utbildat många av de ledande företagen på den Nordiska marknaden. Tillsammans med vårt finska ägarbolag Soprano...


Läs mer om Informator och visa alla utbildningar.

Kontaktuppgifter

Informator

Karlavägen 108
115 26 Stockholm

 Visa telefonnummer