// @topic T060600 C++ References
// @brief swap function using pointers and references

#include <cstdlib>
#include <iostream>

void Swap( int* left, int* right )
{
    // Pointers must be dereferenced:
    int temp = *left;
    *left = *right;
    *right = temp;
}

void Swap( int& left, int& right )
{
    // References, once initialized, behave as the original object.
    // References are used directly:
    int temp = left;
    left = right;
    right = temp;
}

int main()
{
    int x = 10;
    int y = 20;

    Swap( &x, &y ); // using pointers
    Swap( x, y );   // using references

    system( "pause" );
    return 0;
}