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

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

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

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

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

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

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

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

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

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

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

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

以上程序可以寫(xiě)成
cout << std::hex << 3.4 << endl;

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

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

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

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

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

相關(guān)文章

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

    C++ OpenCV讀寫(xiě)XML或YAML文件的方法詳解

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

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

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(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.版本比較),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言文件操作 fopen, fclose, mkdir詳解

    C語(yǔ)言文件操作 fopen, fclose, mkdir詳解

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

    C++寫(xiě)Linux框架示例解析

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論