欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 命名空間詳解

 更新時間:2021年11月01日 11:07:19   作者:ALL IN C  
這篇文章主要介紹了C++ 命名空間的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下

一、C++ 命名空間

命名空間為了大型項目開發(fā),而引入的一種避免命名沖突的一種機制。比如說,在一個大型項目中,要用到多家軟件開發(fā)商提供的類庫。在事先沒有約定的情況下,兩套類庫可能在存在同名的函數(shù)或是全局變量而產(chǎn)生沖突。項目越大,用到的類庫越多,開發(fā)人員越多,這種沖突就會越明顯。

1.默認(rèn)NameSpace(Global&Function)

Global scope 是一個程序中最大的 scope。也是引起命名沖突的根源。C 語言沒有從語言層面提供這種機制來解決。也算是 C 語言的硬傷了。Global scope 是無名的命名空間。

//c 語言中如何訪問被局部變量覆蓋的全局變量
int val = 200;
int main()
{
	int *p = &val;
	int val = 100;
	printf("func val = %d\n",val);
	printf("global val = %d\n",*p);
	return 0;
}
#include <iostream>
#include <string.h>
using namespace std;
int val = 200;
void func()
{
	return ;
}
int main()
{
	int val = 100;
	cout<<"func val = "<<val<<endl;
	cout<<"global val = "<<::val<<endl;
	::func(); //因為不能在函數(shù)內(nèi)定義函數(shù)。所以前而的::沒有意義。
	return 0;
}

輸出結(jié)果

2.語法規(guī)則

NameSpace是對全局(Global scope)區(qū)域的再次劃分。

1.聲明

命令空間的聲明及namespace中可以包含的內(nèi)容

namespace NAMESPACE
{
	全局變量 int a;
	數(shù)據(jù)類型 struct Stu{};
	函數(shù) void func();
	其它命名空間 namespace
}

2.使用方法

1.直接指定 命名空間: Space::a = 5;

2.使用 using+命名空間+空間元素:using Space::a;

3.使用 using +namespace+命名空間: using namespace Space;

3.支持嵌套

#include <iostream>
using namespace std;
namespace MySpace
{
	int x = 1;
	int y = 2;
	namespace Other {
		int m = 3;
		int n = 4;
	}
}
int main()
{
	using namespace MySpace::Other;
	cout<<m<<n<<endl;
	return 0;
}

4.協(xié)作開發(fā)

同名命名空間自動合并,對于一個命名空間中的類,要包含聲明和實現(xiàn)。

a.h

#ifndef A_H
#define A_H
namespace XX {
	class A
	{
		public:
		A();
		~A();
	};
}
#endif // A_H

a.cpp

#include "a.h"
using namespace XXX
{
	A::A()
	{
	}
	A::~A()
	{
	}
}

b.h

#ifndef B_H
#define B_H
namespace XX
{
	class B
	{
		public:
		B();
		~B();
	};
}
#endif // B_

b.cpp

#include "b.h"
namespace XX {
	B::B()
	{
	}
	B::~B()
	{
	}
}

main.cpp

include <iostream>
#include "a.h"
#include "b.h"
using namespace std;
using namespace XX;
int main()
{
	A a;
	B b;
	return 0;
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C++語言 STL容器list總結(jié)

    C++語言 STL容器list總結(jié)

    這篇文章主要介紹了C++語言 STL容器list總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • c++初級并查集知識點總結(jié)

    c++初級并查集知識點總結(jié)

    在本篇文章里小編給各位分享的是關(guān)于c++初級并查集知識點以及實例代碼內(nèi)容,有需要的朋友們學(xué)習(xí)下。
    2019-07-07
  • C語言版簡單掃雷游戲

    C語言版簡單掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語言版簡單掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C++中常見容器類的使用方法詳解(vector/deque/map/set)

    C++中常見容器類的使用方法詳解(vector/deque/map/set)

    C++中常見的容器類有vector、list、deque、map、set、unordered_map和unordered_set。下面將舉例直接說明各個容器的使用方法,希望對大家有所幫助
    2023-03-03
  • C語言實現(xiàn)電子時鐘程序

    C語言實現(xiàn)電子時鐘程序

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)電子時鐘程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 純C語言:分治快速排序源碼分享

    純C語言:分治快速排序源碼分享

    這篇文章主要介紹了分治快速排序源碼,有需要的朋友可以參考一下
    2014-01-01
  • C++ vector類的模擬實現(xiàn)方法

    C++ vector類的模擬實現(xiàn)方法

    這篇文章主要介紹了C++ vector類的模擬實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • c++ 隨機數(shù)問題的相關(guān)研究

    c++ 隨機數(shù)問題的相關(guān)研究

    這篇文章主要介紹了c++ 隨機數(shù)問題的相關(guān)研究,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下
    2021-03-03
  • 淺談C++的語句語法與強制數(shù)據(jù)類型轉(zhuǎn)換

    淺談C++的語句語法與強制數(shù)據(jù)類型轉(zhuǎn)換

    這篇文章主要介紹了淺談C++的語句語法與強制數(shù)據(jù)類型轉(zhuǎn)換,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • Qt實現(xiàn)UI界面純代碼示例

    Qt實現(xiàn)UI界面純代碼示例

    這篇文章主要給大家介紹了關(guān)于Qt實現(xiàn)UI界面的相關(guān)資料,使用Qt純代碼,實現(xiàn)了基本的界面,對大家學(xué)習(xí)或者使用Qt具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01

最新評論