欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

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

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

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

具體程序代碼如下:

#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;
}

運行結果如下圖所示:

上一篇:用C語言獲取文件的大小示例分享

欄    目:C語言

下一篇:C++與C#互調dll的實現步驟

本文標題:C++ namespace相關語法實例分析

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3469.html

網頁制作CMS教程網絡編程軟件編程腳本語言數據庫服務器

如果侵犯了您的權利,請與我們聯系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網 版權所有