国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

C++ namespace相關語法實例分析

2020-01-26 15:23:24
字體:
來源:轉載
供稿:網友

namespace命名空間是C++中一個非常重要的概念,本文實例展示了namespace的相關語法,供大家參考。具體如下:

本段測試代碼包括如下內容:

(1) 如何訪問namespace中聲明的名稱;
(2) namespace導致的相關沖突;
(3) namespace可嵌套;
(4) 可以在namespace中使用using聲明和using編譯命令;
(5) 未命名的namespace:其作用域為定義該namespace所在的聲明區域。C++推薦用來替代static定義靜態變量。

具體程序代碼如下:

#include <iostream>using namespace std;namespace jerry{  int height;  int weight;  void showHeight();  string name;}//namespace jerry{  void showHeight()  {    cout<<"Method 3: Jerry height: "<<height<<" kg"<<endl;  }}namespace elements{  namespace fire  {    int flame;    using namespace jerry; //(4) can use 'using' in namespace define    using std::cout;  }  float water;}//(5) no name namespace//其作用域為定義時所在的聲明域,可用來替換static變量,這是C++標準推薦的行為namespace {  string data;}void testFun();int main(){  cout<<"This code is to test namespace"<<endl;  /*not allowed to define namespace in code segment  //Error  namespace jerry{     int height;     int weight;  }  */  //(1) To access the data in namespace  //Method 1: 作用域解析符  jerry::height = 165;  cout<<"Method 1: Jerry height: " << jerry::height <<" cm"<<endl;  //Method 2: using聲明  using jerry::weight;  weight = 64;  cout<<"Method 2: Jerry weight: " << weight<<" kg"<<endl;  //Method 3: using編譯指令:All the define data in namespace jerry can be access.  using namespace jerry;  showHeight();  //(2) about name conflict  {    jerry::name = "Jerry";    string name = "Tom";    //using jerry::name; Error    cout << "name: "<<name<<endl;    /*    This method will lead conflict with locall parameter    using jerry::name;    cout << "name: "<<name<<endl;    */    cout << "name: "<<jerry::name<<endl;    using namespace jerry;    //局部變量會覆蓋jerry命名空間的name定義    cout << "name: "<<name<<endl;  }  //(3) namespace can nest  elements::fire::flame = 2;  using namespace elements::fire;  //(5) no name namespace  //其作用域為定義時所在的聲明域,可用來替換static變量,這是C++標準推薦的行為  data = "hello";  cout<<"No name namespace: data: " << data <<endl;  testFun();}void testFun(){  /*not allowed to define namespace in code segment  //Error  namespace jerry{     int height;     int weight;  }  */  //(5) no name namespace  data = "hello in function";  cout<<"No name namespace: data: " << data <<endl;}

運行結果如下圖所示:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 横峰县| 蓬安县| 延寿县| 江永县| 牙克石市| 盐城市| 望都县| 富源县| 盐山县| 五寨县| 洛宁县| 阿坝县| 丰镇市| 万宁市| 石屏县| 金塔县| 南通市| 兖州市| 溆浦县| 南开区| 六枝特区| 盐池县| 汨罗市| 敖汉旗| 宝山区| 云浮市| 大姚县| 汶川县| 阳朔县| 商河县| 望江县| 永泰县| 漳浦县| 黎城县| 华池县| 黑龙江省| 布尔津县| 突泉县| 咸丰县| 荣昌县| 青田县|