C++ for Experienced Developers


Har du arbetat med högnivå/OO-språk som C# eller Java? Finner du dig plötsligt i ett projekt som innehåller C++-kod?

Känns övergången inte så mjuk som du hade tänkt dig?

När man designar applikationer i C++ händer det ofta att fundamentala riktlinjer skiljer sig från många andra språk. I C++ finner du dig plötsligt utan en garbage collector, vilket gör minnesläckor till en direkt risk i varje steg av utvecklingsarbetet. Var du förlorar i minnessäkerhet, vinner du istället i en mångfald av kryptiska kompileringsfelmeddelanden, underliga segmenteringsfel, och fallgropar runt varje hörn.

Den här kursen hjälper dig att hänga med i C++-världen. Den täcker aspekter av både den väletablerade C++03 och de nya funktionerna i C++11. Den utgår från dina tidigare erfarenheter som mjukvaruutvecklare och visar hur man går över till att koda C++ i maskinkodskompileringens värld. Vi går igenom vanliga fel och misstag, och hur man undviker dem. Vi visar även typiska idiom och hur man undviker vanliga problem.

Dag 1

  • Pointers and references
  • Type inference
  • Memory allocations
  • Header files, implementation files and the linker
  • Namespaces
  • Objects - classes, structs and unions
  • Constructors and destructors
  • Exception handling
  • Traditional enums and C++11 enum classes
  • List, vectors and other STL collections
  • Iterators, algorithms and range-based iteration
  • Single and multiple inheritance
  • The diamond problem
  • The oddities called protected and private inheritance
  • Abstract base classes
  • Pure virtual functions
  • Polymorphism in C++
  • The type slicing problem

Dag 2

  • Friend functions
  • Operator overloading
  • The "Rule of Three"
  • Component composition
  • Standard Template Library
  • Templates (and how they differ from generics)
  • Inherited template classes: covariance and variance
  • Template type querying with decltype
  • Explicit template instantiations
  • Template metaprogramming

Dag 3

  • The pImpl idiom
  • The RAII idiom
  • Smart pointers and ownership semantics
  • rvalues, lvalues and Move Semantics
  • Function pointers
  • Lambda expressions
  • Higher-order programming
  • Streams and file management
  • Regular expressions
  • C++11 threads and locks
  • The <chrono> header
  • Tuples
  • C++11 specific STL additions
  • Loading shared libraries at runtime

Kurskod: T191
Kurslängd: 3 dagar
Pris: 24 500 SEK

Dela



BOKA NU

Kursschema

Kontakta oss för schema

Målgrupp

Kursen är avsedd som en snabbkurs till C++ för erfarna utvecklare.

Förkunskaper

Du bör helst ha en utmärkt förståelse av objektorienterad programmering i ett minneshanterat språk som C# eller Java. Att kunna lite C++ från start är alltid ett plus, men inte alls obligatoriskt.

Lärare

Eric Lavesson Analytisk och kvalitetsmedveten konsult med en passion för programmering och webbadministrering Erik Man - Stephen Lau Mjukvaruingengör och Lärare

Kontakta oss

Kontakta oss gärna för mer information:
Tel: 040-61 70 720
info@edument.se
Alla priser ex moms