namespace的作用


namespace的用法

1.什么是命名空間

通常我們學c++的時候經常看見頭文件下有一句using namespace std,有什么用呢?
例如:

#include<iostream>
using namespace std;

int main()
{
	cout << "Hello,World!" << endl;
	return 0;
}

如果我們去掉這句的話,程序就會報未聲明變量cout和未聲明變量endl。
原來std命名空間是C++中標准庫類型對象的命名空間。如果加上using namespace std這句,程序就把文件內出現的用std命名的關鍵字都自動在前面加上std::。

2.namespace命名空間有什么用呢

namespace命名空間是在大型項目開發中,為了避免命名沖突而引入的一種機制。
比如A公司定義了命名變量score,B公司也定義了score,而且B公司里也有個小組C。但是我要先使用B公司的score變量,然后在使用A公司的score變量,最后使用B公司里的小組C。該怎么辦呢?
A公司的文件

namespace A
{
	int score=5;
}

B公司的文件

namespace B
{
	int score=10;
	namespace C{
		int score=4;	
	}
}

使用方法

#include<iostream>
#include"A.cpp"
#include"B.cpp"

using namespace std;

int main()
{
	{                                    //B聲明在此范圍有效
		using B::score;
		cout<<score<<endl;
	}
	{                                    //A聲明在此范圍有效
		using A::score;
		cout<<score<<endl;
	}
	{                                    //C聲明在此范圍有效
		using B::C::score;
		cout<<score<<endl;
	}
	return 0;
}

這就可以區分三個不同的score了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM