我正在嘗試交換兩個變數的內容。我用指標做的很好。但是嘗試使用參考來實作它是行不通的。
#include <iostream>
//Implementing a reference based swap
void RefSwap(int& x, int& y)
{
int extra;
extra = x; //automatically de-referenced
x = y;
y = extra;
}
int main()
{
int a = 3, b = 10;
int& ref_a = a, ref_b = b; //refs don't actually exist in memory, they act like aliases
RefSwap(ref_a, ref_b);
std::cout << a << " " << b << std::endl;
}
我的輸出:
10 10
預期輸出:
10 3
使用 VS 社區 2022
uj5u.com熱心網友回復:
int& ref_a = a, ref_b = b;
這是
int& ref_a = a;
int ref_b = b;
不是:
int& ref_a = a;
int& ref_b = b;
改變:
int& ref_a = a, ref_b = b;
到:
int& ref_a = a;
int& ref_b = b;
將產生正確的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/370438.html
上一篇:何時使用雙指標和指標
下一篇:對結構的參考
