raga tramite questo codice ho cercato di confrontare l'indirizzo del parametro formale e quello dell'argomento, per vedere che effettivamente fossero identici:

codice:
void Crea_Magazzino(Magazzino & M, int & n){
    
    Prodotto P;
    cout <<"indirizzo magazzino parametro formale: "<<&M<<endl;
    cout << "\n Quanti Prodotti diversi contiene il magazzino?: ";
    cout <<"indirizzo n parametro formale: "<<&n<<endl;
    cin >> n;
    
    
    cout << "\n Inserimento Dati Prodotti.";
     
    for (int i=0; i<n; i++) {
        cin.ignore();
        Inserisci_DatiProdotto(M[i]);
    }  
    cout << "\n Fatto!";      
}
quindi il passaggio per riferimento copia l'indirizzo dell'argomento all'interno del parametro formale, facendo quindi cambiare indirizzo a quest'ultimo? quindi senza creare una copia, perchè non riesco a capire la differenza tra questo passaggio e il passagio per indirizzo con i puntatori.