Funktion tausche()

Schreibe eine Funktion tausche(int*, int*); welche den Inhalt ihrer 2 Parameter vertauscht.

    #include<iostream>
    using namespace std;

    void tausche(int*, int*);

    int main()
    {
      int a=2;
      int b=5;
      cout<<"a = "<<a<<"\nb = "<<b<<"\n";
      tausche(&a,&b);
      cout<<"a = "<<a<<"\nb = "<<b<<"\n";
    }

    void tausche(int* a, int* b)
    {
      int t=*a;
      *a=*b;
      *b=t;
    }

Die Version mit Referenzen ist natuerlich besser - denn eine Referenz muss immer etwas referenzieren. Man kann sich also sicher sein, dass der Zugriff auf eine Referenz nichts schlimmes ist. Bei Zeigern könnte jemand 0 übergeben, oder einen Wilden-Zeiger und schon hat unserer Programm undefiniertes Verhalten.

Merksatz: Zeiger nur dann verwenden, wenn wir NULL-Zeiger haben wollen. Es kann manchmal sinnvoll sein, keinen Wert zu haben - da muss man dann Zeiger verwenden, denn Referenzen haben immer einen Wert.

top