Advanced C++ Software Design Schulung
Dies ist ein fortgeschrittener C++ Schulungskurs, der sich auf die objektorientierte (OO) Softwareentwicklung und -gestaltung mit der Programmiersprache C++ .
Schulungsübersicht
Modul 1
- Einführung + Referenzen
- Grundlagen
- Workshop Grundlagen
- Überladen
- Was können wir überladen und wie.
- Extra C++ Typen (bool & Referenz)
- Workshop Überladen
- OOP
- Kurze Einführung in Oop
- Klassen
- Strukturen
- Access Modifikatoren
- Konstruktor
- Standard-/Löschfunktionen
- Initialisierungssyntax/Konstruktorinitialisierungsliste
- Workshop-Klassen
- Speicher
- Klassische Speicherinteraktion
- Workshop Speicher
Modul2
- Vererbung
- Konstruktion
- Polymorphismus
- Virtuell, rein virtuell, abstrakt, Schnittstelle
- Access Modifikatoren
- Workshop Vererbung (Formen)
- Ausnahmen
- Was sind sie?
- Wie funktionieren sie?
- Was werfen und was fangen
- Workshop Ausnahmen
- Erschöpfung des Speichers
- Wie sie gemeldet wird
- Wie man damit umgeht
- Moderner Speicher Management
- RAII
- Schablonen für modernen Speicher Management (SmartPointer)
- Standardisierte C++11 SmartZeiger
- Nullptr
- Workshop SmartZeiger
- Namespaces
- Workshop Namespaces
Baustein3
- Auto
- Das neue Schlüsselwort auto
- Die neue auto-Rückgabesyntax
- enum
- Neue Art von enums
- constexpr
- Neue konstante Ausdrücke
- Über constness
- Const und Mutable erklärt
- Lambdas und Funktionsobjekte
- Klassen, die sich wie Funktionen verhalten
- Einführung lambda-Funktionen
- Chrono
- n Einführung in die neue Chrono-Bibliothek
Modul 4
- Casting
- Standard-Bibliothek
- Zeichenkette
- Gefäße
- Vektor (vs)
- Liste
- Karte
- Array
- Tupel
- Initialisierer-Listen
- Iteratoren
- Bereich-für-Syntax
- Standard-Algorithmen
- Ströme
- Verschiedene Schlüsselwörter
- statisch
- explizit
Baustein 5
- Semantik der Bewegung
- Einführung in L/R-Werte
- R-Wert-Referenzen in der Verschiebesemantik
- Typ-Eigenschaften
- Beschaffung von Informationen zur Kompilierzeit
- Gleichzeitigkeit
- Einführung in die Implementierung von Threading, async/future und atomaren Typen in C++11
- Variadische Templates - Eine Einführung in die variadischen Templates von C++11
Voraussetzungen
Mindestens 1 Jahr Erfahrung on C++
Offene Schulungskurse erfordern mindestens 5 Teilnehmer.
Advanced C++ Software Design Schulung - Booking
Advanced C++ Software Design Schulung - Enquiry
Erfahrungsberichte (3)
wie wir reservierte Wörter und bewährte Praktiken verwenden können, die bei der Verwendung von Objet Oriented Programming zu verwenden sind. wie wir uns auf die cpp-Referenz verlassen können, um Wissen über gewünschte Themen zu erhalten
Alejandro - we need to hace this group for mexico people only from Turf and compact utility
Kurs - Advanced C++ Software Design
Maschinelle Übersetzung
Der Trainer klärt meine Zweifel immer auf.
David C Pascual C - we need to hace this group for mexico people only from Turf and compact utility
Kurs - Advanced C++ Software Design
Maschinelle Übersetzung
Es hat mir sehr gut gefallen, 5 Tage lang in die C++-Sprache einzutauchen - ohne Unterbrechung durch die reguläre Arbeit - am Stück ... Da ich persönlich nicht so viel Erfahrung mit C++ habe wie meine Kollegen, beschloss ich, an diesem Kurs teilzunehmen, um tiefer einzutauchen. Der Tauchgang hat mich enorm angespornt, mehr zu lernen ... und das ist genau das, was ich erreichen wollte. Ich schätzte das Fachwissen des Trainers - und das meiner Kollegen. Die Tatsache, dass Themen sehr schnell angesprochen und nicht im Detail behandelt wurden, ist das, was ich von einem Kurs für Fortgeschrittene erwarte. Manchmal war es für mich zu schnell, um zu folgen (aber das ist ein bekannter und akzeptierter Nachteil meiner Teilnahme an diesem Kurs :-)) ... aber auf der anderen Seite erhielt ich einen ziemlich vollständigen Überblick über die Feinheiten der Sprache. Vielen Dank, dass Sie einen Kurs auf diese Weise präsentieren! Ich weiß das sehr zu schätzen!!!
Jan Grauwen - Septentrio N.V.
Kurs - Advanced C++ Software Design
Maschinelle Übersetzung
Kommende Kurse
Kombinierte Kurse
Advanced C++
35 StundenDiese Live-Schulung unter Anleitung eines Trainers (online oder vor Ort) richtet sich an Entwickler, die fortgeschrittene C++ Programmiertechniken zur Entwicklung komplexer, sicherer und leistungsstarker Systeme und Anwendungen einsetzen möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Eine Entwicklungsumgebung einrichten, die alle C++-Bibliotheken, -Pakete und -Frameworks enthält.
- Verstehen der Funktionen, Komponenten und Grundelemente von C++.
- Komplexe C++-Anwendungen mit fortgeschrittenen Programmiertechniken erstellen.
- Lernen Sie, wie Sie lesbaren, schnellen und sicheren Code in C++ schreiben können.
- Kennen Sie die häufigen Sicherheitsfallen in der C++-Sprache und wie Sie diese entschärfen können.
- Teststrategien für Codequalität und Sicherheitskontrolle implementieren.
- Diagnose- und Debugging-Werkzeuge in der C++-Entwicklung nutzen.
C++ for Modeling Quantitative Finance
49 StundenUmfangreiches C++-Training zur Abdeckung quantitativer Methodenmodellierung und Einführung eines riesigen Projekts, damit die Auszubildenden echte praktische Erfahrungen mit C++ für Quants sammeln können
C/C++ Secure Coding
21 StundenIn diesem dreitägigen Kurs werden die Grundlagen des Sicherns des C / C++ Codes gegen böswillige Benutzer behandelt, die möglicherweise viele Sicherheitslücken im Code mit Speicherverwaltung und Eingabehandhabung ausnutzen. In diesem Kurs werden die Grundlagen des Schreibens von sicherem Code behandelt.
C++ for Embedded Systems
21 StundenIst C++ für eingebettete Systeme wie Mikrocontroller und Echtzeitbetriebssysteme geeignet?
Soll in Mikrocontrollern eine objektorientierte Programmierung verwendet werden?
Ist C++ zu weit von der Hardware entfernt, um effizient zu sein?
Dieses von Lehrern geleitete Live-Training geht auf diese Fragen ein und zeigt anhand von Diskussionen und Übungen, wie mit C++ eingebettete Systeme mit genauem, lesbarem und effizientem Code entwickelt werden können. Die Teilnehmer setzen die Theorie in die Praxis um, indem sie eine eingebettete Beispielanwendung in C++ erstellen.
Am Ende dieser Schulung können die Teilnehmer:
- Die Prinzipien der objektorientierten Modellierung, eingebetteter Softwareprogrammierung und Echtzeitprogrammierung verstehen
- Code für eingebettete Systeme erstellen, der klein, schnell und sicher ist
- Code-Aufblähung durch Templates, Exceptions und andere Sprachfeatures vermeiden
- Die Herausforderungen bei der Verwendung von C++ in sicherheitskritischen und Echtzeitsystemen verstehen
- Ein C++-Programm auf einem Zielgerät debuggen
Publikum
- Entwickler
- Designer
Format des Kurses
- Teil Vortrag, Teil Diskussion, Übungen und intensive praktische Anwendung
C++ 11 Programming
14 StundenDieser zweitägige Kurs richtet sich an C++ Programmierer, die den neuen C++11-Standard in ihrer Branche anwenden möchten. Er ist besonders nützlich für Entwickler von Finanzanwendungen und behandelt alle neuen Funktionen anhand von Programmierbeispielen, die im Rahmen des Kurses durchgeführt werden.
C++, QT, ZeroMQ and Protocol Buffers
35 StundenDiese Live-Schulung unter Anleitung (online oder vor Ort) bietet eine Einführung in C++, das Qt GUI-Framework und verschiedene Kommunikationstechnologien wie ZeroMQ und Protocol Buffers, die zum Schreiben verteilter Anwendungen verwendet werden können.
Am Ende dieser Schulung verfügen die Teilnehmer über das notwendige Wissen und die Praxis, um eine Anwendung mit C++, Qt und gcc unter Linux Centos 6/7 zu schreiben und zu kompilieren. Die Teilnehmer werden auch asynchrone Messaging-Funktionen mit Zero MQ und Protocol Buffers integrieren.
Using C++ in Embedded Systems - Applying C++11/C++14
21 StundenDiese Schulung soll C++ als die übliche Erweiterung von C bei der objektorientierten Entwicklung eingebetteter Systeme vorstellen. Da C++ C umschließt, führt uns diese Schulung auf natürliche Weise von C zu C++ und beleuchtet, wie C++ implementiert ist. Dies ist besonders wertvoll, um zu verstehen, wenn C++ in einer eingebetteten, ressourcenbeschränkten Umgebung eingesetzt wird. Der C++-Standard wird derzeit grundlegend überarbeitet, auch bekannt als C++11, und eine neue Version ist in Arbeit, C++14. Dieser Kurs behandelt Themen, die mit diesen Überarbeitungen eingeführt wurden und besonders nützlich sind, wie z. B. Hochleistungs-Speicherverwaltung, Parallelität unter Verwendung einer Multicore-Umgebung und Bare-Metal-Programmierung, die sich eng an die Hardware anlehnt.
ZIEL/VORTEILE
Das Hauptziel dieses Kurses besteht darin, dass Sie in der Lage sind, C++ auf "richtige Weise" zu verwenden.
- C++ als objektorientierte Sprachalternative im Kontext eingebetteter Systeme vorstellen
- Die Ähnlichkeiten – und Unterschiede – zur Sprache C aufzeigen
- Verschiedene Strategien zur Speicherverwaltung verstehen – insbesondere die Move-Semantik, die mit C++11 eingeführt wurde
- Unter die Haube schauen und verstehen, was verschiedene Paradigmen in C++ im Maschinencode bewirken
- Templates verwenden, um typsichere, hochrangige Abstraktionen für Bare-Metal-Programmierung zu erreichen, die eng an die Hardware anlehnt – speicherabbildende E/A sowie Interrupts – insbesondere die variadischen Templates, die mit C++11 eingeführt wurden
- Einige nützliche Designmuster bereitstellen, die insbesondere im eingebetteten Kontext anwendbar sind
- Einige Übungen, um einige Konzepte zu üben
ZIELGRUPPE/TEILNEHMER
Diese Schulung richtet sich an C++-Programmierer, die beabsichtigen, C++ in einem eingebetteten Systemkontext zu verwenden.
VORKENNTNISSE
Der Kurs setzt Grundkenntnisse in der C++-Programmierung voraus, entsprechend unseren Schulungen "C++ - Level 1" und "C++ Level 2 - Einführung in C++11".
PRAKTISCHE ÜBUNGEN
Während des Kurses werden Sie die vorgestellten Konzepte in einer Reihe von Übungen anwenden. Wir werden die offene und kostenlose integrierte Entwicklungsumgebung von Eclipse verwenden
Functional Programming with C++
14 StundenDiese von einem Ausbilder geleitete Live-Schulung (online oder vor Ort) richtet sich an Webentwickler, die ein funktionales Programm mit C++
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Funktionale Programmierlösungen einsetzen, um die Leistung von Webanwendungen zu verbessern.
- Datenmutationen und Seiteneffekte durch funktionale Programmierung vermeiden.
- Webanwendungen im funktionalen Programmierstil erstellen.
HMI Development for Automotive Infotainment Systems
14 StundenDies ist ein spezieller HMI-Entwicklungskurs, der für Automobilexperten konzipiert wurde, die an der Entwicklung eines fortschrittlichen Infotainment-Systems für Kraftfahrzeuge beteiligt sind.
Object Oriented Programming with C++
7 StundenIn diesem Kurs lernen die Teilnehmer C++ Konzepte und Programmierkenntnisse.
Programmieren in C++
35 StundenDer Kurs präsentiert eine umfassende objektorientierte Sprache C++ und deren Verwendung anhand einfacher Beispiele. Dies sind die Standardmechanismen und die Bibliothek
Qt Programming
21 StundenDiese von einem Ausbilder geleitete Live-Schulung in Österreich bietet eine eingehende Behandlung von Qt und seinen Modulen.
Am Ende dieser Schulung verfügen die Teilnehmer über das notwendige Wissen und die Praxis, um ihre eigene C++-Anwendung mit Qt zu entwickeln.
Unreal Engine 4
21 StundenDiese Live-Schulung in Österreich vermittelt die Grundlagen der Spieleentwicklung mit der Unreal Engine 4 und gibt den Teilnehmern die Möglichkeit, ihr eigenes Beispielspiel zu erstellen.