Swap函式的實現

2021-07-24 03:16:22 字數 880 閱讀 3856

一、->"資料沒有

真正的被交換

"

#include#include#includeusing namespace std;

void sswap(int,int);

int main()

{ int x=3;

int y=5;

sswap(x,y);//int a=x; int b=y;

cout<<"x="《二、->"資料

真正的被交換

"

使用指標 進行交換(

本函式中的形參和實參都並不是x y,而是x y的位址值)

#include#include#includeusing namespace std;

void sswap(int *,int *);

int main()

{ int x=3;

int y=5;

sswap(&x,&y);//int a=x; int b=y;

cout<<"x="《三、->"資料

真正的被交換

"

使用引用的方式進行交換 -》

交換 使用引用

#include#include#includeusing namespace std;

void sswap(int &a,int &b);//&a是對a的引用 &b是對b的引用。

int main()

{ int x=3;

int y=5;

sswap(x,y);//int &a=x; int &b=y;

cout<<"x="<

swap函式的實現方式

預設版本 namespace std 如果類採用指標儲存資料,則預設交換方式會變得低效。因為只用交換兩個指標便能實現兩個物件的交換。因此需要特化版本的swap,由於指標是私有成員,因此需要乙個公有成員函式swap,完成實際的交換。然後由特化版本的swap呼叫該公有成員函式。我們不能修改namespa...

swap函式自定義實現

swap函式大家都很熟悉了,用於將兩個物件進行交換,但是在std中swap需要進行乙個拷貝構造,兩次賦值操作。這對於小物件是可以接受的,但對於較大的物件來書,這個時間可是有點長了,所以可能要在特定的類中自定義swap成員函式。1 對於int型的swap函式,可以使用異或操作符來進行交換,具體看如下 ...

C學習 swap函式的多種實現對比

include include void swap0 int a,int b 交換函式 void swap1 int a,int b void swap2 int a,int b void swap3 int a,int b void swap4 int a,int b void swap5 int...