MySQL Java JavaScript PHP Python HTML-CSS C-sharp C++ Go

Introducere în C++

Limbajul de programare C++

C++ este un limbaj de programare compilat, de nivel înalt, cu tipizare statică, destinat scopurilor generale și potrivit pentru crearea unei game largi de aplicații. Astăzi, C++ este unul dintre cele mai populare și răspândite limbaje.

C++ își are rădăcinile în limbajul C, care a fost dezvoltat între anii 1969 și 1973 la Bell Labs de către programatorul Dennis Ritchie. La începutul anilor 1980, programatorul danez Bjarne Stroustrup, care lucra și el la Bell Labs, a creat C++ ca o extensie a limbajului C. Inițial, C++ adăuga pur și simplu caracteristici de programare orientată pe obiect limbajului C. De aceea, Stroustrup îl numea la început „C cu clase” (C with classes).

Ulterior, limbajul a început să câștige popularitate. Au fost adăugate funcționalități noi, care l-au transformat într-un limbaj complet nou, nu doar o extensie a C-ului. Astfel, „C cu clase” a fost redenumit în C++, iar de atunci cele două limbaje au evoluat separat.

Ultima versiune a standardului limbajului C++ poate fi consultată la: https://eel.is/c++draft/

C++ este un limbaj puternic care a moștenit din C capabilități avansate de manipulare a memoriei. Din acest motiv, C++ este adesea folosit în programarea de sistem – pentru dezvoltarea sistemelor de operare, driverelor, utilitarelor, antivirusurilor etc. De exemplu, o mare parte din sistemul de operare Windows este scris în C++.

Însă utilizarea C++ nu se limitează la programarea de sistem. Acest limbaj este adecvat pentru aplicații de orice complexitate în care contează viteza și performanța. Este adesea utilizat pentru aplicații grafice, software aplicație generală, și mai ales pentru dezvoltarea de jocuri video cu grafică bogată. În ultimii ani, a început să fie folosit și în dezvoltarea mobilă, iar chiar și în web development se poate folosi pentru crearea de aplicații sau servicii auxiliare. Pe scurt, C++ este un limbaj versatil cu care se pot crea aproape orice tip de aplicații.

Fiind un limbaj compilat, C++ necesită un compilator care transformă codul sursă într-un fișier executabil cu instrucțiuni de mașină. Totuși, platformele diferite au cerințe specifice, astfel încât fișierele executabile nu sunt direct portabile între ele. Codul sursă C++ este în general portabil, atâta timp cât nu se folosesc funcții specifice unei platforme. Existența de compilatoare și biblioteci pentru majoritatea platformelor populare permite compilarea acelorași surse pentru sisteme diferite.

Fiind un limbaj compilat, C++ necesită un compilator care transformă codul sursă într-un fișier executabil cu instrucțiuni de mașină. Totuși, platformele diferite au cerințe specifice, astfel încât fișierele executabile nu sunt direct portabile între ele. Codul sursă C++ este în general portabil, atâta timp cât nu se folosesc funcții specifice unei platforme. Existența de compilatoare și biblioteci pentru majoritatea platformelor populare permite compilarea acelorași surse pentru sisteme diferite.

Spre deosebire de C, limbajul C++ permite programarea orientată pe obiect, în care aplicațiile sunt construite din clase și obiecte care interacționează între ele – facilitând astfel dezvoltarea de aplicații mari.

Principalele etape de dezvoltare

  • 1979–1980 – Bjarne Stroustrup dezvoltă extensia limbajului C numită „C cu clase”
  • 1983 – Limbajul este redenumit în C++
  • 1985 – Apare prima versiune comercială C++ și prima ediție a cărții „The C++ Programming Language”, în absența unui standard oficial
  • 1989 – Este lansată versiunea C++ 2.0 cu noi funcționalități
  • 1998 – ISO publică primul standard oficial: ISO/IEC 14882:1998 (C++98)
  • 2003 – Apare standardul revizuit C++03
  • 2011 – Este publicat C++11, cu numeroase îmbunătățiri semnificative
  • 2020 – C++20 devine standardul oficial
  • 2023 – Este așteptat C++23

Compilatoare și medii de dezvoltare

Pentru a scrie programe în C++, ai nevoie cel puțin de două componente:

  • Un editor de text – pentru a scrie codul sursă. De exemplu, Visual Studio Code este o alegere bună, fiind multiplatformă și oferind suport pentru pluginuri, inclusiv pentru C++
  • Un compilator – pentru a transforma codul sursă într-un fișier executabil

Spre deosebire de editoare, alegerea compilatorului poate fi mai dificilă, deoarece există numeroase opțiuni, fiecare cu propriile caracteristici. O listă de compilatoare poate fi consultată pe Wikipedia, iar informații despre suportul pentru standardele recente se găsesc aici: https://en.cppreference.com/w/cpp/compiler_support

Trei compilatoare recomandate pentru a începe sunt:

  • g++ (parte din proiectul GCC – GNU Compiler Collection)
  • Clang (parte din proiectul LLVM)
  • Compilatorul C++ de la Microsoft (folosit în Visual Studio)

În cadrul acestui ghid, ne vom concentra în special pe compilatorul g++ (GCC).

Pentru a crea aplicații, se pot folosi și medii de dezvoltare integrate (IDE) precum Visual Studio, NetBeans, Eclipse, Qt etc., care simplifică procesul de dezvoltare.