亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++命名空間實例解析

2020-05-23 14:22:05
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C++命名空間實例解析,對C++程序員來說是非常重要的知識點,需要的朋友可以參考下
 
 

命名空間是C++非常重要的概念,本文就以實例形式對其進行深入分析,具體內容如下:

通常來說,在C++中,命名空間(namespace)的目的是為了防止名字沖突。每個命名空間是一個作用域,在所有命名空間之外,還存在一個全局命名空間(global namespace),全局命名空間以隱式的方式聲明,它并沒有名字。在命名空間機制中,原來的全局變量,就是位于全局命名空間中(可以用::member的形式表示)。

一、定義命名空間

1、每個命名空間都是一個作用域

和其他作用域類似,在命名空間中的每個名字必須表示唯一實體,而在不同命名空間中,可以有相同名字的成員。

2、命名空間可以是不連續的

命名空間可以定義在幾個不同的部分:

namespace nsp {   /* …… */ }  // 命名空間作用域后面無須分號

如果之前沒有名為nsp的命名空間定義,則上述代碼創建一個新的命名空間;否則,上述代碼打開已經存在的命名空間添加一些新的成員。

3、命名空間是可以嵌套的

嵌套的命名空間是指定義在其他命名空間中的命名空間。嵌套的命名空間是一個嵌套的作用域,內層命名空間聲明的名字將隱藏外層命名空間聲明的同名成員:

int x = 20; namespace outer {   int x = 10;   namespace inner {     int z = x;   } }  int main() {   std::cout << outer::inner::z; // 輸出10   return 0; } 

注意,通常我們不把#include頭文件放在命名空間內部。

4、未命名的命名空間

未命名的命名空間(unnamed namespace)是指關鍵字namespace后緊跟花括號括起來的一系列聲明語句。未命名的命名空間中定義的變量擁有靜態生命周期:它們在第一次使用前創建,并且直到程序結束才銷毀。在標準C++引入命名空間的概念之前,程序需要將名字聲明成static以使其對于整個文件有效,但是,現在在文件中進行靜態聲明的做法已經被C++標準取消了,取而代之的是使用未命名的命名空間。

一個未命名的命名空間可以在某個給定的文件內不連續,但是不能跨越多個文件。也就是說,未命名的命名空間僅在特定的文件內部有效,其作用范圍不會橫跨多個不同的文件。另外,由于未命名的命名空間它沒有名字,所以其中定義的名字的作用域與該命名空間所在的作用域相同:

int i;  // i的全局聲明 namespace {   int i; } i = 10; // 錯誤,二義性 
namespace local {   namespace {     int i;   } } local::i = 42; // 正確 

二、使用命名空間

對命名空間中成員的引用,需要使用命名空間的作用域運算符(::)。但是,像namespace_name::member_name這樣使用命名空間的成員非常煩瑣,我們需要使用一些其他的更簡便的方法。

1、命名空間的別名

有些命名空間的名字很長或者命名空間嵌套了很多層,我們可以為其設定一個較短的同義詞,也就是別名:

namespace cln = cpluslus_learning_namespace; namespace Qlib = outer::inner::QueryLib; 

2、using聲明

一條using聲明(using declaration)語句一次只引入命名空間的一個成員:

using 命名空間名::[命名空間名::……]成員名;  // 例如 using OLib::List; 

3、using指示

using指示(using directive)和using聲明不同的地方是,我們無法控制哪些名字是可見的,因為using指示會使得某個特定的命名空間中所有的名字都可見:

using namespace std;  // 引入命名空間std 

使用命名空間主要是為了防止名字沖突,如果隨意使用using指示注入命名空間的所有名字,將重新引入名字沖突的問題。另外,using聲明和using指示在作用域上有區別using聲明是將一個成員引入當前命名空間作用域內;using指示是將所有成員引入當前和上一層命名空間作用域內

namespace nsp {  // 命名空間   int i=16, j=15; }  int j = 0;  // 全局變量  int main() {   using namespace nsp;  // 如果使用j,將在::j和nsp::j之間產生沖突   std::cout << j;   return 0; }

如果將using namespace nsp;改成using聲明using nsp::j;則會正確輸出15。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩动漫免费观看电视剧高清| 2024亚洲男人天堂| 欧美中文字幕在线播放| 成人激情视频小说免费下载| 人人爽久久涩噜噜噜网站| 在线精品视频视频中文字幕| 性欧美激情精品| 久久精品国产视频| 欧美视频在线观看免费| 国产精品 欧美在线| 国产成人综合av| 欧美激情一二三| 欧美性色视频在线| 美女福利精品视频| 国产伊人精品在线| 欧美中文字幕在线| 精品国内自产拍在线观看| 久久精品国产一区二区电影| 热门国产精品亚洲第一区在线| 精品亚洲一区二区三区| 国模叶桐国产精品一区| 国产精品劲爆视频| 亚洲片在线观看| 福利视频第一区| 91老司机精品视频| 欧美亚州一区二区三区| 亚洲欧美日韩天堂| 国产精品激情av电影在线观看| 精品一区精品二区| 色综合久久88| 综合国产在线视频| 亚洲第一中文字幕在线观看| 亚洲人成电影网| 欧美电影免费在线观看| 亚洲国产精彩中文乱码av| 国内精品国产三级国产在线专| 国产99久久精品一区二区| 国产精品久久久久秋霞鲁丝| 久久久久久九九九| 日韩欧美大尺度| 欧美激情va永久在线播放| 欧美一区二区大胆人体摄影专业网站| 黑人巨大精品欧美一区二区一视频| 欧美肥臀大乳一区二区免费视频| 欧美午夜精品久久久久久浪潮| 9.1国产丝袜在线观看| 亚洲视频999| 亚洲片av在线| 欧美成人精品一区二区三区| 日韩中文字幕网站| 亚洲第一视频在线观看| 国产成人精品在线观看| 91干在线观看| 日韩欧美一区视频| 欧美日产国产成人免费图片| 亚洲人永久免费| 性色av一区二区三区免费| 亚洲欧美激情在线视频| 久久综合久中文字幕青草| 日韩动漫免费观看电视剧高清| 国产欧美久久一区二区| 欧美视频在线免费看| 国产精品高潮呻吟视频| 久久69精品久久久久久国产越南| 成人综合国产精品| 在线观看日韩欧美| 国产欧美日韩精品丝袜高跟鞋| 精品调教chinesegay| 欧美性猛交xxxx免费看久久久| 亚洲欧美国产精品专区久久| 久久艹在线视频| 欧美日韩国产色视频| 亚洲欧洲日产国码av系列天堂| 久久久久久久久中文字幕| 欧美另类老肥妇| 欧美香蕉大胸在线视频观看| 日韩精品中文在线观看| 久久精品国产99国产精品澳门| 日韩中文字幕在线视频| 一本一道久久a久久精品逆3p| 中文字幕日韩精品在线| 在线视频日本亚洲性| 精品高清美女精品国产区| 97精品一区二区视频在线观看| 伊人久久久久久久久久久久久| 国模精品一区二区三区色天香| www.99久久热国产日韩欧美.com| 91日韩在线播放| 久久夜色精品国产亚洲aⅴ| 亚洲精品自在久久| 亚洲视频欧洲视频| 亚洲在线视频福利| 亚洲免费一级电影| 91精品国产免费久久久久久| 欧美视频二区36p| 日韩美女在线观看| 亚洲成人av资源网| 中文字幕久热精品视频在线| 欧美片一区二区三区| 亚洲精品乱码久久久久久金桔影视| 国产精品九九久久久久久久| 97视频免费观看| 激情亚洲一区二区三区四区| 亚洲国产欧美一区二区三区久久| 久久av.com| 亚洲一区二区中文字幕| 中文字幕精品一区久久久久| 亚洲成人国产精品| 日韩三级成人av网| 亚洲美女久久久| 欧美性猛交丰臀xxxxx网站| 亚洲一区www| 亚洲欧洲在线免费| 亚洲人成在线观| 久久免费国产视频| 国内精品久久久久伊人av| 亚洲国产精品成人一区二区| 亚洲天堂网站在线观看视频| 亚洲第一福利网站| 亚洲一区二区日本| 亚洲性夜色噜噜噜7777| 成人羞羞国产免费| 韩国精品久久久999| 中文字幕在线观看日韩| 国产日韩欧美电影在线观看| 久久夜色精品国产亚洲aⅴ| 久久精品一偷一偷国产| 91精品国产高清久久久久久久久| 欧美黄色三级网站| 国产剧情久久久久久| 中文字幕亚洲第一| 91高清免费在线观看| 91最新在线免费观看| 日韩av免费看| 亚洲综合一区二区不卡| 欧美一区二区视频97| 97精品国产97久久久久久春色| 中国china体内裑精亚洲片| 亚洲激情视频网站| 在线日韩精品视频| 97超级碰碰碰| 国产精品盗摄久久久| 国产精品免费网站| 最近2019中文字幕大全第二页| 中文字幕亚洲国产| 亚洲欧美国产制服动漫| 久久久久久久97| 欧美美女18p| 黑人巨大精品欧美一区二区一视频| 欧美黑人xxxⅹ高潮交| 在线观看免费高清视频97| 97国产精品免费视频| 91在线观看免费| 97久久精品国产| 成人网在线免费观看| 国产一区二区日韩精品欧美精品| 91免费国产视频| 一区二区亚洲精品国产| 国产在线播放91| 久久久久久久久久久成人| 日韩的一区二区| 91精品视频在线| 成人黄色av网| 精品久久在线播放|