關鍵字:namespace
就是劃片取名字的意思;爲了區分不同程序庫裏面的變量。
編程實現命名空間的使用:
#include<stdlib.h>
#include<iostream>
using namespace std;
namespace A//定義命名空間A
{
int x=1;
void fun()
{
cout << "A" << endl;
}
}
namespace B//定義命名空間B
{
int x=2;
void fun()
{
cout << "B" << endl;
}
void fun2()
{
cout << "C" << endl;
}
}
using namespace B;//使用B的命名空間
int main()
{
cout << A::x << endl;
B::fun();//因爲A中也有函數fun,所以也要寫明B::fun();才能說明是調用B的函數;
fun2(); //只有B有函數fun2(),又因爲前面有使用B的命名空間,所以直接用;
system("pause");
return 0;
}
當然上述程序中若刪除using namespace std;那麼可在每個cin和cout前面加上std::即可。
再來一個例子:實現尋找數組裏面的最大值或者最小值
#include<stdlib.h>
#include<iostream>
using namespace std;
namespace CampA
{
int getMaxOrMin(int *arr, int count, bool isMax)
{
int temp = arr[0];
for (int i = 1; i < count; i++)
{
if (isMax)
{
if (temp < arr[i])
{
temp = arr[i];
}
}
else
{
if (temp > arr[i])
{
temp = arr[i];
}
}
}
return temp;
}
}
int main()
{
int arrl[] = {4,5,8,3,6,9,7,12,89};
int len = sizeof(arrl)/sizeof(char *);//獲得數組的長度
cout << "請輸入要計算最大值還是最小值,1-最大,0-最小:" << endl;
bool isMax;
cin >> isMax;
cout << CampA::getMaxOrMin(arrl, len, isMax) << endl;
system("pause");
}