Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Argomenti Posizionali e Predefiniti | Specifica degli Argomenti di Funzione
Funzioni in C++

Argomenti Posizionali e Predefiniti

Scorri per mostrare il menu

Argomenti posizionali

Argomenti posizionali rappresentano un metodo per passare valori a una funzione in un ordine specifico, basato sulla firma della funzione. I valori vengono associati ai parametri secondo le posizioni nell'elenco dei parametri della firma della funzione. La posizione di ciascun argomento determina a quale parametro corrisponde.

main.cpp

main.cpp

1234567891011121314151617181920
#include <iostream> // Function that takes two positional arguments float divide(float a, float b) { if (b == 0) return 0; return a / b; } int main() { float x = 8; float y = 4; // Calling the 'divide' function with two positional arguments float result = divide(x, y); std::cout << result << std::endl; }

È possibile eseguire un piccolo esperimento: cambiare l'ordine di passaggio degli argomenti alla funzione (utilizzare divide (y, x) invece di divide(x, y)), e si noterà che il risultato è cambiato. Questa è proprio l'essenza degli argomenti posizionali: l'ordine con cui si passano i parametri alla funzione è importante e influisce direttamente sul risultato.

Argomenti di default

Gli argomenti di default permettono di assegnare valori predefiniti ai parametri di una funzione. Se una funzione viene chiamata senza fornire tutti gli argomenti, quelli mancanti utilizzano i loro valori predefiniti. Per impostare un valore di default, basta assegnare un valore direttamente nella dichiarazione della funzione.

main.cpp

main.cpp

12345678910111213141516171819202122
#include <iostream> // Default value is set for the third parameter float divide(float a, float b, bool terminate = true) { if (b == 0) { if (terminate) return 0; return a / 0.000001; // Prevent crash by using a very small number } return a / b; } int main() { std::cout << divide(10, 2) << std::endl; // Normal division std::cout << divide(10, 0) << std::endl; // Default behavior (error) std::cout << divide(10, 0, false) << std::endl; // Forced division }

La funzione divide() divide un numero per un altro. Se il denominatore (b) è zero:

  • terminate = true → restituisce 0
  • terminate = false → divide per un numero molto piccolo per evitare un errore

Il parametro terminate ha un valore di default pari a true, quindi può essere omesso. Impostare terminate = false per continuare il calcolo invece di interromperlo.

Note
Nota

È importante che tutti gli argomenti di default siano posizionati dopo quelli posizionali nell'elenco dei parametri. In caso contrario, il compilatore genererà un errore.

question mark

Quale dichiarazione di funzione utilizza correttamente argomenti posizionali e di default?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 2. Capitolo 1
some-alt