日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

 

C語言定義了3個層次的作用域:文件、函數和復合語句。

C++ 引入了類的作用域,類是在文件內的。

在不同的作用域中,可以定義相同名字的變量,互不干擾,編譯器能夠區別它們。

1、命名空間的概念

C語言中,只有一個全局作用域,所有全局標識符共享一個作用域,因此絕對不能重名。

但隨著系統越來越復雜,通常不會僅由一個人來開發,不同的人開發同一個系統,不可避免地會出現變量或函數的命名沖突,當將所有人的代碼結合到一起時,就會因為變量或函數重名,導致編譯失敗。

因此,C++提出了命名空間的概念:

  • 命名空間將全局作用域分成不同的部分;
  • 不同命名空間的標識符可以同名,不會發生沖突;
  • 命名空間可以嵌套。
namespace Name1
{
  namespace Name2
  {
    /*...*/
  }
    /*...*/
}

全局作用域也叫默認命名空間。

2、舉例說明

比如現在有一個小學,學校里有六個年級,每個年級有三個班級。

現在一位老人來這個學校找到校長,要找一位叫張三的學生,感謝他在公共汽車上給自己讓座。

現在校長(編譯器)要找張三,但學校里有很多叫張三的人,怎么確定是哪個張三呢?

這時如果知道張三是哪個年紀,哪個班級,那么很快就能確定是誰。

假設是三年級二班的張三,那么這個三年級二班就是命名空間。

namespace grade
{
  namespace class
  {
    student zhang_san;
  }
}

C++的命名空間,就是一種為了避免命名沖突的機制。

C++命名空間namespace的理解

 

3、使用方式

C++的命名空間,有兩種使用方式:

  • 導入整個命名空間:using namespace name;
  • 只導入命名空間中的某個變量:using name::variable
// 導入整個std命名空間到當前作用域
using namespace std;

// 只導入cout到當前作用域
using std::cout;
C++命名空間namespace的理解

 

分享到:
標簽:命名 理解 空間 namespace
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定