値渡しと参照渡しの違い
Posted: 2017年1月17日(火) 17:12
こんばんは。
これは参照渡しの方なんですが、いまいち参照渡しと値渡しの違いが解りません。
なぜ値渡しでは、値の交換ができないのでしょうか?
よろしくお願いします。
#include<iostream>
using namespace std;
//swap関数の宣言
void swap(int* px, int* py);
int main(){
int num1 = 5;
int num2 = 10;
cout << "変数num1の値は" << num1 << "です。\n";
cout << "変数num2の値は" << num2 << "です。\n";
cout << "変数num1とnum2の値を好感します。\n";
swap(&num1, &num2);
cout << "変数num1の値は" << num1 << "です。\n";
cout << "変数num2の値は << num2 << "です。\n";
return 0;
}
//swap関数の定義
void swap(int* px, int* py)
{
int tmp ;
*tmp = *px;
*px = *py;
*py = tmp;
}
なぜ値渡しでは、値の交換ができないのでしょうか?
よろしくお願いします。