Adressen von Zeigern in C ++ tauschen

Wie kann man Zeigeradressen innerhalb einer Funktion mit einer Signatur tauschen?

Sagen wir:

int weight, height;
void swap(int* a, int* b);

Nachdem Sie diese Funktion verlassen haben, werden die Adressen der aktuellen Parameter (weight undheight) würde geändert werden. Ist das überhaupt möglich?