Intelligenza Artificiale

A un certo punto non fu più la biologia a dominare il destino dell'uomo, ma il prodotto del suo cervello: la cultura.
Cosicché: "Le uniche leggi della materia sono quelle che la nostra mente deve architettare e le uniche leggi della mente sono architettate per essa dalla materia".
JAMES CLERK MAXWELL

Funzioni in C++


Funzioni in C++, Overload, Default, Automatic

Definizione delle Funzioni in C++

Le funzioni in C++ sono definite specificando il tipo di ritorno, il nome della funzione e i parametri (se presenti). Ecco un esempio:


#include <iostream>

// Funzione che restituisce la somma di due interi
int somma(int a, int b) {
    return a + b;
}

int main() {
    std::cout <<somma(3, 4) << std::endl;  // Chiamata alla funzione

    return 0;
}

Overload di Funzioni

L'overload di funzioni consente di definire più funzioni con lo stesso nome ma firme diverse.

Le funzioni in C++ sono definite specificando il tipo di ritorno, il nome della funzione e i parametri (se presenti). Ecco un esempio:


#include <iostream>

// Funzione che somma due interi
int somma(int a, int b) {
    return a + b;
}

// Funzione che concatena due stringhe
std::string somma(std::string a, std::string b) {
    return a + b;
}

int main() {
    std::cout << somma(3, 4) << std::endl;           // Chiamata alla prima funzione
    std::cout << somma("Hello, ", "World!") << std::endl;  // Chiamata alla seconda funzione

    return 0;
}

Parametri a Valore Default

I parametri a valore default consentono di specificare valori predefiniti per i parametri di una funzione. Esempio:


#include <iostream>

// Funzione con parametro a valore default
void saluta(std::string nome = "Utente") {
    std::cout  << "Ciao, "  << nome  << "!"  << std::endl;
}

int main() {
    saluta();            // Chiamata con il valore predefinito
    saluta("Alice");     // Chiamata con un valore specificato

    return 0;
}

Automatic Return Type Inference

Con `auto`, il compilatore deduce automaticamente il tipo di ritorno di una funzione. Esempio:


#include <iostream>

// Funzione con inferenza automatica del tipo di ritorno
auto somma(int a, double b) {
    return a + b;
}

int main() {
    std::cout  << somma(2, 3.5) << std::endl;   // Il tipo di ritorno è dedotto automaticamente

    return 0;
}