Передача по указателю

Я запутался между этими двумя функциями:

void Swap_byPointer1(int *x, int *y){
    int *temp=new int;
    temp=x;
    x=y;
    y=temp;
}

void Swap_byPointer2(int *x, int *y){
    int *temp=new int;
    *temp=*x;
    *x=*y;
    *y=*temp;
}

Почему Swap_byPointer2 успешно меняет местами x и y, а Swap_byPointer1 - нет?

13
задан COD3BOY 5 January 2012 в 11:15
поделиться