Parametri opzionali in C++

Una novità introdotta in C++ sono i cosiddetti parametri opzionali o di default, che ci permetteranno di semplificare il nostro codice e renderlo più pulito.

Parametri di default in C++

Vediamo subito un esempio di come si può utilizzare un parametro di default per migliorare il codice.

#include <iostream>

using namespace std;

void stampa_array(int arr[], int lunghezza, bool inverti = false) {

    if (inverti == true) {

        for (int i = lunghezza - 1; i >= 0; i--) {
            cout << arr[i] << " ";
        }
        cout << endl;
    }
    else {

        for (int i = 0; i < lunghezza; i++) {
            cout << arr[i] << " ";
        }
        cout << endl;
    }

}

int main() {
    int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

    //Stampiamo l'array
    stampa_array(arr, 10);

    //Stampiamo l'array al contrario
    stampa_array(arr, 10, true);

    return 0;
}

Il boolean inverti alla riga 25 ha valore false di default. Questo ci permette di chiamare la funzione senza specificare il valore di inverti a meno che non vogliamo stampare l’array invertito. Piccole miglioramenti come questo valore di default ci aiutano a mantenere un codice pulito e leggibile, evitando il cosiddetto parameter hell.