欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

你真的懂C++中的namespace用法

 更新時間:2021年06月16日 14:24:45   作者:賺錢養(yǎng)個小智障- ̗̀(๑ᵔ⌔ᵔ๑)  
命名空間(namespace)為防止名字沖突提供了更加可控的機制,命名空間分割了全局命名空間,其中每個命名空間是一個作用域,今天通過本文給大家分享C++中namespace用法,感興趣的朋友一起看看吧

namespace中文意思是命名空間或者叫名字空間,傳統(tǒng)的C++只有一個全局的namespace,但是由于現(xiàn)在的程序的規(guī)模越來越大,程序的分工越來越細(xì),全局作用域變得越來越擁擠,每個人都可能使用相同的名字來實現(xiàn)不同的庫,于是程序員在合并程序的時候就會可能出現(xiàn)名字的沖突。namespace引入了復(fù)雜性,解決了這個問題。namespace允許像類,對象,函數(shù)聚集在一個名字下。本質(zhì)上講namespace是對全局作用域的細(xì)分。

說白了namespace是怕變量沖突而出現(xiàn)的一種界限,不同的namespace好比不同的國家,而其中的變量相當(dāng)于政府機關(guān),而他們都是相互獨立的!

using namespace std

using namespace std簡要意思就是使用標(biāo)準(zhǔn)庫,想知道更清楚的請繼續(xù)往下看

using namespace std 的意思是:

using 和namespace都是C++的關(guān)鍵詞。
std 是標(biāo)準(zhǔn)程序庫所駐之命名空間(namespace)的名稱。

  • 如果使用Boost的庫 ,那就寫 using namespace boost
  • 如果使用C++標(biāo)準(zhǔn)庫 那就寫 using namespace std

就是暴露std這個名字空間,你就可以調(diào)用std這個名字空間下的東西,包含在這個命名空間的所有類還有函數(shù)都可以使用了

一般的名字空間用法可以 這樣使用:

namespace sdm  
  {  
            int   temp;  
            ......  
  }   

那么你在一個文件中有三種用法:

using namespace sdm;
然后你就可以使用變量temp:
temp=9;
還可以使用sdm中的其他每一個成員。using sdm::temp;
在這個文件中只能使用sdm中的temp這個變量。

你在使用時直接使用sdm::temp:
cout<<sdm::temp<<endl;
使用其它的成員也這樣調(diào)用。

using namespace 就是怎么把一堆代碼歸在一起,把它們納入一個space(空間);然后使用它們的時候,先要聲明使用它所在的這個空間

例如A B兩個班都有叫張三的人,你要使用A班的張三,必然要先指名是A班這個名字空間(namespace),然后你對張三的所有命令才能達到你的預(yù)想,才不會叫錯人

namespace 就是一個名字的空間。是為了避免名字沖突而使用的。在不同的空間里可以使用同一個名字而不會引起名字沖突。

<iostream>和<iostream.h>

  • <iostream>和<iostream.h>是不一樣,前者沒有后綴,實際上,在你的編譯器include文件夾里面可以看到,二者是兩個文件,打開文件就會發(fā)現(xiàn),里面的代碼是不一樣的。
  • 后綴為.h的頭文件c++標(biāo)準(zhǔn)已經(jīng)明確提出不支持了,早些的實現(xiàn)將標(biāo)準(zhǔn)庫功能定義在全局空間里,聲明在帶.h后綴的頭文件里,c++標(biāo)準(zhǔn)為了和C區(qū)別開,也為了正確使用命名空間,規(guī)定頭文件不使用后綴.h。
  • 因此,在使用<iostream.h>時,相當(dāng)于在c中調(diào)用庫函數(shù),使用的是全局命名空間,也就是早期的c++實現(xiàn);當(dāng)使 用的時候,該頭文件沒有定義全局命名空間,必須使用namespace std;這樣才能正確使用cout。

namespace

所謂namespace,是指標(biāo)識符的各種可見范圍。C++標(biāo)準(zhǔn)程序庫中的所有標(biāo)識符都被定義于一個名為std的namespace中。

由于namespace的概念,使用C++標(biāo)準(zhǔn)程序庫的任何標(biāo)識符時,可以有三種選擇:

直接指定標(biāo)識符。例如std::ostream而不是ostream。完整語句如下:

std::cout << std::hex << 3.4 << std::endl;

使用using關(guān)鍵字。

using std::cout;
using std::endl;

以上程序可以寫成

cout << std::hex << 3.4 << endl;

最方便的就是使用using namespace std

#include <iostream>
#include <sstream>
#include <string>
using namespace std;

這樣命名空間std內(nèi)定義的所有標(biāo)識符都有效(曝光)。就好像它們被聲明為全局變量一樣。那么以上語句可以如下寫:

cout << hex << 3.4 << endl;

因為標(biāo)準(zhǔn)庫非常的龐大,所程序員在選擇的類的名稱或函數(shù)名時就很有可能和標(biāo)準(zhǔn)庫中的某個名字相同。所以為了避免這種情況所造成的名字沖突,就把標(biāo)準(zhǔn) 庫中的一切都被放在名字空間std中。但這又會帶來了一個新問題。無數(shù)原有的C++代碼都依賴于使用了多年的偽標(biāo)準(zhǔn)庫中的功能,他們都是在全局空間下 的。

所以就有了<iostream.h>和<iostream>等等這樣的頭文件,一個是為了兼容以前的C++代碼,一個是為了支持新的標(biāo)準(zhǔn)。

命名空間std封裝的是標(biāo)準(zhǔn)程序庫的名稱,標(biāo)準(zhǔn)程序庫為了和以前的頭文件區(qū)別,一般不加".h"

以上就是你真的懂C++中的namespace用法的詳細(xì)內(nèi)容,更多關(guān)于C++中namespace用法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C語言實現(xiàn)猜數(shù)游戲

    C語言實現(xiàn)猜數(shù)游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)猜數(shù)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C語言之快速排序算法(遞歸Hoare版)介紹

    C語言之快速排序算法(遞歸Hoare版)介紹

    大家好,本篇文章主要講的是C語言之快速排序算法(遞歸Hoare版)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2021-12-12
  • VSCode添加頭文件(C/C++)的實現(xiàn)示例

    VSCode添加頭文件(C/C++)的實現(xiàn)示例

    這篇文章主要介紹了VSCode添加頭文件(C/C++)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • C++三色球問題描述與算法分析

    C++三色球問題描述與算法分析

    這篇文章主要介紹了C++三色球問題描述與算法分析,結(jié)合注釋形式詳細(xì)講述了三色球問題的描述與相應(yīng)的算法設(shè)計思路,并給出了相關(guān)的實現(xiàn)方法,需要的朋友可以參考下
    2016-05-05
  • C++常用語句簡介

    C++常用語句簡介

    這篇文章主要介紹了C++常用語句簡介,文章將要介紹的常用語句有聲明變量、賦值語句、cin、cout語句、庫函數(shù)、自定義函數(shù),需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • C++實現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換

    C++實現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)字符串和整數(shù)的相互轉(zhuǎn)換的方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C++有一定的幫助,需要的可以參考一下
    2023-01-01
  • C++下如何將TensorFlow模型封裝成DLL供C#調(diào)用

    C++下如何將TensorFlow模型封裝成DLL供C#調(diào)用

    這篇文章主要介紹了C++下如何將TensorFlow模型封裝成DLL供C#調(diào)用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++實現(xiàn)讀取圖片長度和寬度

    C++實現(xiàn)讀取圖片長度和寬度

    這篇文章主要介紹了C++實現(xiàn)讀取圖片長度和寬度,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • C++實現(xiàn)四則運算器(無括號)

    C++實現(xiàn)四則運算器(無括號)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)四則運算器,無括號的計算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C語言中的字符(char)詳細(xì)講解

    C語言中的字符(char)詳細(xì)講解

    本篇文章主要介紹C語言中char的知識,并附有代碼實例,以便大家在學(xué)習(xí)的時候更好的理解,有需要的可以看一下
    2016-07-07

最新評論