互換值與互換位址

2021-10-24 12:54:15 字數 1074 閱讀 2954

乙個小實驗。

#includeusing namespace std;

//互換值 改變位址 相當於引用

void prswap(int* &x, int* &y)

//互換值 位址不變

void pswap(int *x, int *y)

int main()

?‍感謝xixi。

另外的實驗。關於引用的指標,以及函式內交換的方式。

void swap(int &a, int &b)
&(引用號)用引用的方法操作實參,形參(=新名字)的行為完全等價於實參的行為

void swap(int* x, int* y)
建立指標實參的「副本」——指標形參,可以交換實參的值,但不改變實參指向的位址

void swap(int* x, int* y)
建立指標實參的「副本」——指標形參,不可以交換實參的值,當然也不改變實參指向的位址

void swap(int* & x, int* & y)
用引用的方式操作指標實參,可以交換實參的值,但不改變實參指向的位址

void swap(int* & x, int* & y)
用引用的方式操作指標實參,可以交換實參的值,可以改變實參指向的位址

總結:引用不是建立新的物件,只是給原來物件貼上新名字的標籤,故新名字的行為完全等價於原來物件的行為

區分傳參形式的不同:void swap(int &a, int &b)、void swap(int* x, int* y)、void swap(int* & x, int* & y)

區分交換語法的不同:

int temp = *x ; *x = *y ; *y = temp;(交換值)
int* temp = x ; x = y ; y = temp;(交換指標)

Mysql兩列值互換

如圖,表中有兩列值,現在要把兩列的值做交換,怎麼寫sql?第一印象 擴充套件出來一列 cc,然後將bc值給cc。然後ac再更新給bc 然後cc更新到ac 然後刪除cc列。如此一來,太麻煩了。那麼一條sql怎麼改呢?update tb set ac bc,bc ac 這樣?你會發現兩值變成了一樣的,失...

IP位址與無符號整數的互換

今天搞了乙個qq的純真版ip資料庫,想到了ip位址與無符號整數互換的問題,在網上找了很多,但大多數有這樣那樣的問題,特別是由無符號整數轉換為ip位址的比較少,後來找到乙個js版的,對其進行了c 化,測試了一下,基本正常,用得到的朋友請支援一下 將無符號整數轉換成ip位址 無符號整數 ip位址 pub...

(四十二)利率互換與貨幣互換的定價

對於互換多頭 即支固收浮者,希望利率上公升 例如浮動利率債券的多頭與固定利率債券的空頭的組合,利率互換的價值v bfl bfix 反之對於互換空頭 收浮支固者,希望利率下降 例如固定利率債券的多頭與浮動利率債券的空頭的組合,利率互換的價值就是v bfix bfl。其中固定利率債券的價值 bfix就是...