c++筆記

最近在學習c++,今天在看書時,敲了幾行代碼:

#include <iostream>
void swap(const int &a, int &b);


int main()
{
using namespace std;
int x = 1, y =2;
swap(x, y);


cout << "x = " << x << endl;
cout << "y = " << y << endl;


return 0;
}


void swap(const int &a, int &b)
{
int temp;
temp = a;
//a = b;
b = temp;
//return 0;
}


運行結果是:x = 2

y = 1

很納悶,爲什麼會這樣,明明已經對x用const進行了限定,怎麼還是變化了,看了半天也沒發現什麼,吃過晚飯,和女朋友一起討論這件事,在她電腦上把這個程序敲了上去,兩個人一起看了會,還是沒有什麼發現,我突然靈機一動,把swap全部改成大寫的Swap,運行後,x = 1 y = 1。原來這個swap是庫函數,但是怎麼樣用自己的swap了,把using namespace std去掉,直接用std::cout, std::endl就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章