Mitä tuo kyseinen &-merkki tekee esim. tässä koodissa?
void JaaKahdella(int& parametri); int main() { int luku=42; JaaKahdella(luku); cout << luku; return 0; } void JaaKahdella(int& parametri) { parametri= parametri/2; }
Eli siis tossa funktiossa on int ja sen jälkeen toi &-merkki, niin mitä se oikein tekee? Ilman kyseistä &-merkkiä ohjelma tulostaa arvon 42, &-merkin kanssa 21. Tämä on sitten opettajan esimerkki ja toi meidän opettaja on tällästä ohjekirjakamaa, joten siltä ei oikein vastauksia heru.
Se on viiteparametrin tunnus. Ilman &-merkkiä parametri on arvoparametri.
Viiteparametrin ja arvoparametrin ero on siinä, että arvoparametrissä vain muuttujan arvo viedään (kopioidaan) funktiolle, kun taas viiteparametrissä viedään muuttuja itse.
Arvopametrin tapauksessa muutujan arvon muuttaminen ei siis välity kutsujalle, koska funktio käsittelee vain arvon kopiota.
Kiitti. Autto paljon.
Aihe on jo aika vanha, joten et voi enää vastata siihen.