最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ 命名空間詳解

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

一、C++ 命名空間

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

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

Global scope 是一個程序中最大的 scope。也是引起命名沖突的根源。C 語言沒有從語言層面提供這種機(jī)制來解決。也算是 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++命名空間5種常見用法實例解析

    C++命名空間5種常見用法實例解析

    這篇文章主要介紹了C++命名空間5種常見用法實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • C++實現(xiàn)圖書管理系統(tǒng)

    C++實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語言代碼 模塊化實現(xiàn)三子棋

    C語言代碼 模塊化實現(xiàn)三子棋

    這篇文章主要為大家詳細(xì)介紹了C語言 模塊化實現(xiàn)三子棋程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • c++ 獲取數(shù)字字符串的子串?dāng)?shù)值性能示例分析

    c++ 獲取數(shù)字字符串的子串?dāng)?shù)值性能示例分析

    這篇文章主要為大家介紹了c++ 獲取數(shù)字字符串的子串?dāng)?shù)值示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • C++中vector的清理回收的方式

    C++中vector的清理回收的方式

    這篇文章主要介紹了C++中vector的清理回收的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C語言單鏈表貪吃蛇小游戲

    C語言單鏈表貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言單鏈表貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語言圍圈報數(shù)題目代碼實現(xiàn)

    C語言圍圈報數(shù)題目代碼實現(xiàn)

    大家好,本篇文章主要講的是C語言圍圈報數(shù)題目代碼實現(xiàn),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • C++記錄程序運(yùn)行時間的四種方法

    C++記錄程序運(yùn)行時間的四種方法

    在學(xué)習(xí)過程中很重要的一個必會的小技巧:計算某一段代碼的執(zhí)行時間,可以用來分析代碼的效率和算法的時間復(fù)雜度等等(個人主要是在總結(jié)各種排序算法時遇到的這個方法),本文給大家介紹了C++記錄程序運(yùn)行時間的四種方法,需要的朋友可以參考下
    2025-03-03
  • 深入分析C語言中結(jié)構(gòu)體指針的定義與引用詳解

    深入分析C語言中結(jié)構(gòu)體指針的定義與引用詳解

    本篇文章是對C語言中結(jié)構(gòu)體指針的定義與引用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言指針引用數(shù)組案例講解

    C語言指針引用數(shù)組案例講解

    這篇文章主要介紹了C語言指針引用數(shù)組案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09

最新評論

锡林郭勒盟| 中阳县| 杂多县| 彭山县| 泾源县| 许昌县| 社旗县| 灵台县| 彝良县| 桂平市| 武汉市| 砀山县| 太保市| 习水县| 团风县| 巴里| 中卫市| 老河口市| 拉萨市| 长汀县| 石屏县| 蛟河市| 邵阳市| 宁陕县| 治县。| 嵊州市| 汶上县| 佛山市| 团风县| 寿光市| 德令哈市| 城步| 新化县| 江永县| 建德市| 苏州市| 霍林郭勒市| 五家渠市| 鸡东县| 宁河县| 景宁|