[問題] 另類的call by reference
請問
我以前學到的call by reference都是要宣告兩個ptr去指向變數的位置
為什麼這樣子也行的通?
****************************************
**宣告: void swap(int &v1,int &v2);
**main裡面:
swap(a,b);
cout<<a <<b <<endl;
**Definition of Swap:
void swap(int &v1,int &v2)
{
int temp;
cout<<v1 <<v2 <<endl;
temp = v1;
v1 = v2;
v2 = temp;
}
**********************************
經過測試,發現在swap function裡面 v1 v2顯示的居然不是
位置...
這裡沒有用到任何ptr...
1. 為什麼行的通?
2. v1 v2 到底是普通變數還是甚麼?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.22.26
→
04/27 20:57, , 1F
04/27 20:57, 1F
→
04/27 21:00, , 2F
04/27 21:00, 2F
→
04/27 21:02, , 3F
04/27 21:02, 3F
→
04/27 21:02, , 4F
04/27 21:02, 4F
→
04/27 21:07, , 5F
04/27 21:07, 5F
→
04/27 21:08, , 6F
04/27 21:08, 6F
→
04/27 21:09, , 7F
04/27 21:09, 7F
→
04/27 21:20, , 8F
04/27 21:20, 8F
→
04/27 21:21, , 9F
04/27 21:21, 9F
→
04/27 21:21, , 10F
04/27 21:21, 10F
→
04/27 21:22, , 11F
04/27 21:22, 11F
→
04/27 21:22, , 12F
04/27 21:22, 12F
→
04/27 21:22, , 13F
04/27 21:22, 13F
推
04/27 22:09, , 14F
04/27 22:09, 14F
→
04/27 22:21, , 15F
04/27 22:21, 15F
推
04/27 23:06, , 16F
04/27 23:06, 16F
→
04/27 23:06, , 17F
04/27 23:06, 17F
→
04/27 23:22, , 18F
04/27 23:22, 18F
→
04/27 23:55, , 19F
04/27 23:55, 19F
推
04/28 00:27, , 20F
04/28 00:27, 20F
→
04/28 01:28, , 21F
04/28 01:28, 21F
推
04/28 01:52, , 22F
04/28 01:52, 22F
→
04/28 12:12, , 23F
04/28 12:12, 23F