1. 程式人生 > 實用技巧 >C++入門(名稱空間)

C++入門(名稱空間)

目錄

C++中的名稱空間

做題的時候經常看見C++中有一行:using namespace std;

不是很明白,就去網上查了一查,寫下這篇博文大致解釋一下。

1. 名稱空間的由來

​ C++中如果有必須的標識重名了,那麼該如何區分它們?為了處理這樣的情況,引入namespace的概念,將重名的標識名,分別放入不同的namespace中,以區別使用。

2. 使用std中的標識

方式1——空間名::標識名

#include <iostream>
int main(){
	std::cout<<"Hello World"<< std::endl;
    return 0;
}

方式2——using namespace std;

#include <iostream>
using namespace std;//引入名稱空間

int main(){
    cout << "Hello World" << endl;//等價於上一行
    return 0;
}

我們可以發現輸出是相同的,
也就是說在using namespace std之後,std中的內容我們可以直接使用,而不用在前面加上std::XXX【有作用域的】

3. 模擬

我們可以舉一個例子,自己設定空間的內容,來模擬一下

#include<iostream>
using namespace std;
namespace a
{
    int b=5;
}
namespace c
{
    int b=8;
}

namespace d
{
    int b=9;
}

int main()
{
    int b=9;
    cout << d::b << " " << a::b << " " << c::b << endl;
    using namespace d;
    cout << b << endl;
    return 0;
}

結果輸出:
9 5 8
9