Salta al contenuto principale
  1. Posts/

C++ per principianti: concetti essenziali e sintassi base

C++ per principianti: concetti essenziali per iniziare
#

Il C++ è un linguaggio potente e flessibile, ampiamente usato per sistemi ad alte prestazioni, videogiochi e applicazioni embedded.

Sotto trovi una lista pratica (stile cheatsheet) dei concetti e costrutti più utili per orientarsi in C++.

1. Struttura base di un programma
#

#include <iostream>

int main() {
    std::cout << "Ciao, Mondo!" << std::endl;
    return 0;
}
  • #include <iostream> = include la libreria standard per input/output.
  • int main() = il punto di ingresso (entry point) di ogni programma C++.
  • std::cout = usato per stampare output su schermo.
  • std::endl = va a capo e svuota il buffer (flush).

2. Variabili e tipi di dati
#

int eta = 25;                  // Numero intero
double pigreco = 3.14159;      // Numero a virgola mobile a doppia precisione
char iniziale = 'A';           // Singolo carattere
bool isAttivo = true;          // Booleano (true/false)
std::string nome = "Ashif";    // Stringa di testo (richiede <string>)

Tip: usa auto se vuoi che il compilatore deduca il tipo automaticamente (es: auto numero = 42;).

3. Input e Output
#

#include <iostream>
#include <string>

int main() {
    std::string nome;
    std::cout << "Inserisci il tuo nome: ";
    std::cin >> nome; // Legge l'input dall'utente
    std::cout << "Benvenuto, " << nome << "!\n";
    return 0;
}

4. Strutture di controllo
#

If / Else:

if (eta >= 18) {
    std::cout << "Maggiorenne";
} else {
    std::cout << "Minorenne";
}

Ciclo For:

for (int i = 0; i < 5; i++) {
    std::cout << i << " ";
}

Ciclo While:

int count = 0;
while (count < 3) {
    std::cout << "Ciao ";
    count++;
}

5. Funzioni
#

// Dichiarazione e definizione
int somma(int a, int b) {
    return a + b;
}

int main() {
    int risultato = somma(5, 3);
    std::cout << risultato;
    return 0;
}

6. Array e Vector (STL)
#

Gli array tradizionali hanno una dimensione fissa, mentre std::vector (dalla Standard Template Library) è dinamico ed è molto più usato in C++ moderno.

#include <vector>
#include <iostream>

std::vector<int> numeri = {1, 2, 3};
numeri.push_back(4); // Aggiunge 4 alla fine

for (int n : numeri) { // Range-based for loop
    std::cout << n << "\n";
}

7. Puntatori e Referenze
#

I puntatori memorizzano l’indirizzo di memoria di un’altra variabile. Le referenze sono alias per variabili esistenti.

int valore = 10;
int& ref = valore;       // ref è una referenza a valore
int* ptr = &valore;      // ptr memorizza l'indirizzo di valore

std::cout << "Valore: " << valore << "\n";
std::cout << "Tramite referenza: " << ref << "\n";
std::cout << "Indirizzo: " << ptr << "\n";
std::cout << "Valore puntato: " << *ptr << "\n"; // Dereferenziazione

8. Classi e Oggetti (OOP)
#

Il C++ supporta pienamente la programmazione orientata agli oggetti.

#include <iostream>
#include <string>

class Persona {
private:
    std::string nome;
    int eta;

public:
    // Costruttore
    Persona(std::string n, int e) : nome(n), eta(e) {}

    // Metodo
    void saluta() {
        std::cout << "Ciao, sono " << nome << " e ho " << eta << " anni.\n";
    }
};

int main() {
    Persona p("Ashif", 25);
    p.saluta();
    return 0;
}

9. Gestione della memoria (Smart Pointers)
#

In C++ moderno (C++11 in poi), evita new e delete diretti se possibile. Usa gli smart pointer per prevenire memory leak.

#include <memory>

// std::unique_ptr possiede in modo esclusivo l'oggetto
std::unique_ptr<int> ptrUnico = std::make_unique<int>(100);

// std::shared_ptr permette proprietà condivisa
std::shared_ptr<int> ptrCondiviso = std::make_shared<int>(200);

Imparare il C++ richiede costanza, ma ti darà un controllo eccezionale sull’hardware e la possibilità di scrivere software dalle massime prestazioni. Buona programmazione!

Ashif C.
Autore
Ashif C.
{ Edge Developer }