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

C++ using namespace std 用法深入解析

 更新時(shí)間:2013年07月26日 09:18:56   投稿:jingxian  
以下是對C++中using namespace std的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下

一 :
<iostream>和<iostream.h>是不一樣,前者沒有后綴,實(shí)際上,在你的編譯器include文件夾里面可以看到,二者是兩個(gè)文件,打開文件就會(huì)發(fā)現(xiàn),里面的代碼是不一樣的。

后綴為.h的頭文件c++標(biāo)準(zhǔn)已經(jīng)明確提出不支持了,早些的實(shí)現(xiàn)將標(biāo)準(zhǔn)庫功能定義在全局空間里,聲明在帶.h后綴的頭文件里,c++標(biāo)準(zhǔn)為了和C區(qū)別開,也為了正確使用命名空間,規(guī)定頭文件不使用后綴.h。

因此,當(dāng)使用<iostream.h>時(shí),相當(dāng)于在c中調(diào)用庫函數(shù),使用的是全局命名空間,也就是早期的c++實(shí)現(xiàn);

當(dāng)使用<iostream>的時(shí)候,該頭文件沒有定義全局命名空間,必須使用namespace std;這樣才能正確使用cout。

二:
所謂namespace,是指標(biāo)識符的各種可見范圍。

C++標(biāo)準(zhǔn)程序庫中的所有標(biāo)識符都被定義于一個(gè)名為std的namespace中。

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

1、直接指定標(biāo)識符。例如std::ostream而不是ostream。完整語句如下:
std::cout << std::hex << 3.4 << std::endl;

2、使用using關(guān)鍵字。
using std::cout;
using std::endl;

以上程序可以寫成
cout << std::hex << 3.4 << endl;

3、最方便的就是使用using namespace std;

例如:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;

這樣命名空間std內(nèi)定義的所有標(biāo)識符都有效(曝光)。就好像它們被聲明為全局變量一樣。那么以上語句可以如下寫:
cout << hex << 3.4 << endl;
因?yàn)闃?biāo)準(zhǔn)庫非常的龐大,所程序員在選擇的類的名稱或函數(shù)名時(shí)就很有可能和標(biāo)準(zhǔn)庫中的某個(gè)名字相同。所以為了避免這種情況所造成的名字沖突,就把標(biāo)準(zhǔn)庫中的一切都被放在名字空間std中。但這又會(huì)帶來了一個(gè)新問題。無數(shù)原有的C++代碼都依賴于使用了多年的偽標(biāo)準(zhǔn)庫中的功能,他們都是在全局空間下的。 

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

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

相關(guān)文章

  • C++ OpenCV讀寫XML或YAML文件的方法詳解

    C++ OpenCV讀寫XML或YAML文件的方法詳解

    XML是一種元標(biāo)記語言。所謂元標(biāo)記,就是開發(fā)者可以根據(jù)自身需要定義自己的標(biāo)記。YAML是一個(gè)可讀性高,用來表達(dá)資料序列的格式。本文將通過C++和OpenCV實(shí)現(xiàn)這兩種文件的讀寫,需要的可以參考一下
    2022-05-05
  • C語言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì)

    C語言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C++實(shí)現(xiàn)LeetCode165.版本比較)

    C++實(shí)現(xiàn)LeetCode165.版本比較)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode165.版本比較),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言文件操作 fopen, fclose, mkdir詳解

    C語言文件操作 fopen, fclose, mkdir詳解

    本文給大家詳細(xì)介紹了下C語言的文件操作函數(shù)fopen, fclose, mkdir的用法及示例,非常的簡單實(shí)用,有需要的小伙伴可以參考下。
    2016-03-03
  • C++寫Linux框架示例解析

    C++寫Linux框架示例解析

    這篇文章主要為大家介紹了C++實(shí)現(xiàn)Linux框架示例代碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 詳解C++中指針和引用的區(qū)別

    詳解C++中指針和引用的區(qū)別

    這篇文章主要介紹了C++中指針和引用的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • OpenCV實(shí)現(xiàn)人臉檢測功能

    OpenCV實(shí)現(xiàn)人臉檢測功能

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)人臉檢測功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語言零基礎(chǔ)精通變量與常量

    C語言零基礎(chǔ)精通變量與常量

    這篇文章主要為大家詳細(xì)介紹了C語言的變量和常量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-04-04
  • 使用kendynet構(gòu)建異步redis訪問服務(wù)

    使用kendynet構(gòu)建異步redis訪問服務(wù)

    這篇文章主要介紹了在kendynet上寫的一個(gè)簡單的redis異步訪問接口,大家參考使用吧
    2014-01-01
  • memset函數(shù)的使用分析

    memset函數(shù)的使用分析

    本篇文章是對memset函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評論