1. 程式人生 > >c++用引用實現倆個數的交換

c++用引用實現倆個數的交換

#include <iostream>
#include <stdlib.h>
using namespace std;
void swap(int &a, int &b)
{
    int tmp = a;
    a = b;
    b = tmp;
}
int main()
{
    int a = 3;
    int b = 4;
    swap(a, b);
    cout << "a=" << a<<" " << "b=" << b << endl;
    system("pause"
); return 0; }

1.不用設定指標變數,指標變數需要另外開闢記憶體空間,而引用不需要開闢記憶體空間。
2.使用指標變數要用到解引用操作符,而引用就代表該變數。
3.用指標傳遞時,實參要進行取地址傳遞,但要是用引用,直接傳遞變數的名字,更加清楚明瞭。
4.引用能完成的,指標也能完成,引用比指標更加清晰明瞭。

相關推薦

c++引用實現個數交換

#include <iostream> #include <stdlib.h> using namespace std; void swap(int &a, int &b) { int tmp = a; a

c++priority_queue實現最小堆,並求解最大的n個數

輸出 return bool rand cto and gre main 最小堆 1 //c++用priority_queue實現最小堆,並求解很多數中的最大的n個數 2 #include <iostream> 3 #include <queue&

C#練習——方法實現個數的最大值

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T

C 使用函式實現個數交換

1.程式程式碼 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <Windows.h> int change_num(int *n1, int *n2)

C# tabcontrol實現窗體類似網頁排版的顯示

code star tar 做的 ide 切換 drop rri all 這裏做的比較簡陋,可以美化下 吧form設置位非頂級控件,直接放在tabcontro裏邊,然後實現tabcontrol的拖拽移除tabpage顯示form以及添加tabpage mousemove的觸

c#UpdatePanel實現接局部刷新

img lin 兩個 end gen 百度 重要 always str 通常我們看到局部刷新就會想到Ajax,但是我今天要說的是c#的一個控件,只要把服務器按鈕和要刷新的區域放在該控件內就能實現局部刷新。 當然它必須和ScriptManager控件一起使用。 Updat

C語言指標實現個數的互換

#include <stdio.h> void change1(int a, int b)//形參與實參不是同一個變數{ int t; t = a; a = b; b = t; } void change2(int * a, int * b)//只是把兩個變數的地址儲存的位置換了,但是變數的值

js實現個數據雙向繫結

該接觸angular,就很好奇他是如何實現的,最近有些時間,就查閱了相關的東西,其實很簡單,並沒有想象中的那麼高大上。 從原理觸發 在JavaScript中給一個物件新增屬性可以像下面這樣 obj.age=20; obj.say=function(){} 還可以通過Object.

C++API實現滑鼠帶軌跡移動

void Contra(int dual_X,int dual_Y); //帶軌跡移動滑鼠 int More(int mini,int maxi); //生成隨機數 int More(int mini,int maxi) //生成隨機數函式 { //引數:1.區間最小值;2.區

C#反射實現兩個類的物件之間相同屬性的值的複製

在進行實體轉換操作的時候如果需要在對兩個實體之間兩個屬性欄位差不多相同的類要進行一個互相的轉換,我們要把a物件的所有欄位的值都複製給b物件,我們只能用b.屬性=a.屬性來寫,如果屬性欄位太多的話,就要寫很多行復制語句,麻煩還容易漏掉一些,這個時候可以利用c#的反射來實現複製。我們可以寫這樣一個利用泛

C++陣列實現一個固定大小的棧/佇列

#include<iostream> #include<exception> using namespace std; #define NUM 5 //用陣列結構實現大小固定的佇列和棧 class ArrayIndexOutOfBoundsExcept

佇列C++ | 陣列實現佇列_1

用陣列實現佇列 /* Queue - Circular Array implementation in C++*/ #include<iostream> using namespace std; #define MAX_SIZE 101 //maximum size of the

指標實現—三個數交換的排序

#include <stdio.h> int main() { void exchange(int *q1,int *q2,int *q3); int a,b,c,*p1,*p2,*p3; scanf("%d %d %d",&a

C/C++移位實現乘除法運算,提高執行效率

用移位實現乘除法運算    a=a*4;    b=b/4; 可以改為:    a=a<<2;    b=b>>2; 說明:除2 = 右移1位               乘2 = 左移1位 除4 = 右移2位               乘4 = 左

C++ 模板實現List的Node基類

    看了C++的單例模式後,啟發很大,剛好要寫一個List,就在想能不能用模板來實現List的Node節點。     在這裡直接上重點,完成後的程式碼: #ifndef DONZ_TEMPLATE_NODE_H #define DONZ_TEMPLATE_NODE_H

C++ 實現字串中括號匹配問題()

使用C++中的stack容器可以很容易的實現字串中括號的匹配判斷問題: #include<iostream> #include<string> #include<stac

巨集實現個數的大小比較

#define _CRT_SECURE_NO_DEPRECATE #include <stdio.h> #include <Windows.h> #define MAX(a,b)

C# Linq實現DataTable實現重複資料過濾

未過濾前: 過濾後(僅會過濾掉完全一樣的資料): 程式碼如下: DataTable dt = this.JsonToDataTable("[{\"Code\":\"SortId\",\"Name\

C++實現的連結串列的增刪改查

#include<iostream> #include<vector> #include<algorithm> #include<cassert> #include<sstream> #include<fst

C++分別指標和引用實現交換函式

       前幾天上課老師給出了一個課堂作業:請分別用指標和引用來實現兩個數的交換。雖然題目比較俗套,但是好久沒寫過C++程式了,依然很生疏,所以我決定總結一下自己的實現,程式粗糙,風格也混合著C,希望大家給提提建議。        老師出這個題目的目的無非是想讓我們聯絡