Edocti
Training tehnic avansat pentru inginerul software de mâine
Edocti Training

Teme esențiale de C++ (Intermediar)

Intermediar
21 h
4.8 (537 recenzii)
Teme esențiale de C++ (Intermediar)

Concepte cheie: Îți consolidezi înțelegerea caracteristicilor esențiale și moderne C++.

Hands‑on pe tablouri, funcții, gestionarea memoriei, OOP, șabloane, STL și concurență.

Construiești o bază solidă pentru teme avansate și pregătire pentru certificări.

Dobândești experiență practică prin scriere și rulare de cod (~70% practică).

Cum te ajută acest curs: capeți încredere să folosești eficient C++ în proiecte reale.

Cui i se adresează: conceput pentru dezvoltatori cu cunoștințe de bază în C++ care vor să avanseze.

La final vei aplica cu încredere C++ la nivel intermediar și te vei pregăti pentru examenul CPA.

Curriculum

Introducere în programarea C++
  • Procesul de build: din surse la binar; artefacte produse la build
  • Lucrul cu șiruri (strings)
  • Standard input și output
  • Formatarea șirurilor
  • Controlul fluxului: condiții, bucle, switch
  • Bazele numerelor în virgulă mobilă: reprezentare, precizie, comparație
  • Lucrul cu tablouri (arrays)
  • Tablouri multidimensionale și dimensiunile lor
  • Operații pe tablouri: sortare și operații de tip reduce
Elemente de C++ modern
  • Cuvântul cheie auto
  • nullptr
  • Return type deduction
  • decltype, typeid, type traits
  • Strongly-typed enums (scoped enums)
  • static_assert și aplicații
  • override
  • Defaulted constructors
  • constexpr
  • Lucrul cu numere aleatoare în C++ modern
Mecanismul funcțiilor
  • Lucrul cu funcții
  • Parametrii funcțiilor
  • Return type
  • Variabile locale vs. globale
  • Avertismente privind variabilele globale
Pointeri și memorie
  • Variabile și adrese; memory layout
  • Bazele pointerilor și aritmetica pointerilor
  • NULL vs. nullptr
  • Alocare dinamică cu new și delete
  • Pointeri și tablouri; tablouri multidimensionale
  • Tablouri și funcții
OOP în C++
  • struct vs. class; clase și obiecte
  • Abstractizare și încapsulare
  • Constructori și destructori; supraîncărcarea constructorilor
  • Initialization list vs. member initialization
  • Cuvântul cheie this
  • friend, private, protected, public
  • Compoziție, moștenire, polimorfism, dynamic dispatch
  • Clase și metode final; override și delete
  • Delegating constructors
Șabloane (Templates)
  • Function templates și type inference
  • Class templates; nested template classes
  • Variadic templates
Programare funcțională practică
  • Function pointers
  • Functors
  • Lambdas
  • Lambda parameters și return types
  • Lambda capture expressions
  • Cum funcționează lambdas
  • Generic lambdas; mutable lambdas
Standard Template Library
  • Vectors; vectors și memorie; vectors multidimensionale
  • Lists
  • Maps (obiecte ca valori și chei)
  • Multimaps
  • Sets
  • Stacks
  • Queues și deques
  • Algorithms
Multithreading și paralelism
  • Bazele: visibility, atomicity
  • Atomic operations în C++ modern
  • Mutexes și locks
  • Condition variables: utilizare și scenarii
Sub capotă
  • Costul la runtime al caracteristicilor C++
  • Funcții virtuale și pure virtual
  • Adresele obiectelor în (multi)moștenire
  • No-cost C++ features vs. low-cost C++ features
Diverse
  • rvalues și lvalues
  • lvalue references vs. rvalue references
  • Move constructors și move assignment operators

Structura zilei de curs

  • Partea 1: 09:00–10:30
  • Pauză: 10:30–10:45
  • Partea 2: 10:45–12:15
  • Pauză de prânz: 12:15–13:15
  • Partea 3: 13:15–15:15
  • Pauză: 15:30–15:45
  • Partea 4: 15:45–17:30