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

Modern C++ nivel intermediar

Intermediar
21 h
4.8 (537 recenzii)

Sesiuni programate

Nu există sesiuni disponibile în acest moment.
Modern C++ nivel intermediar

Concepte cheie: Îți consolidezi înțelegerea caracteristicilor esențiale din C++ modern (C++11 - C++26) prin exerciții practice.

Aprofundezi hands-on concepte critice: tablouri, funcții, managementul memoriei, OOP, șabloane (templates), STL și concurență.

Construiești o bază solidă, absolut necesară pentru abordarea temelor avansate și pregătirea pentru certificări din industrie.

Dobândești experiență practică: Petreci ~70% din timp scriind, rulând și depanând cod C++ real.

Cum te ajută acest curs: Capeți încrederea necesară pentru a utiliza eficient și robust limbajul C++ în proiecte comerciale.

Cui i se adresează: Programatorilor cu cunoștințe de bază în C++ care doresc să treacă la nivelul următor.

La final, vei putea scrie aplicații C++ la nivel intermediar și vei fi pregătit pentru examenul C++ Certified Associate Programmer (CPA).

Abilități dobândite

Bazele C++ Modern Managementul Memoriei Programare Orientată pe Obiect Standard Template Library (STL) Șabloane (Templates) Multithreading & Concurență Lambdas & C++ Funcțional Pregătire Examen 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

Ai participat la acest curs?

Opinia ta este foarte importantă pentru noi. Spune-ne cum a fost experiența ta și ajută-ne să îmbunătățim acest curs pentru viitorii participanți.

Ofera feedback

Vrei să afli mai multe? Suntem aici să te ajutăm!

Sau scrie-ne direct la training@edocti.com.