最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++命名空間使用詳細(xì)介紹

 更新時(shí)間:2022年09月09日 10:11:17   作者:AKA.瞳源治  
考慮一種情況,當(dāng)我們有兩個(gè)同名的人,Zara,在同一個(gè)班里。當(dāng)我們需要對(duì)它們進(jìn)行區(qū)分我們必須使用一些額外的信息和它們的名字,比如它們生活在不同的區(qū)域或者興趣愛(ài)好什么的,在C++程序中也會(huì)遇到同樣的情況,所以命名空間就此產(chǎn)生

1.前言

在c++中,為了避免代碼名稱(chēng)上所產(chǎn)生沖突,引入了命名空間這個(gè)東西。

命名空間相當(dāng)于劃分出一定的空間,為特定的類(lèi)型,函數(shù)和變量等的名稱(chēng)(也就是標(biāo)識(shí)符)提供了一個(gè)范圍。

命名空間之內(nèi)的標(biāo)識(shí)符訪(fǎng)問(wèn)彼此沒(méi)有限制,命名空間之外的標(biāo)識(shí)符可通過(guò)使用每個(gè)標(biāo)識(shí)符的完全限定名來(lái)訪(fǎng)問(wèn)成員,也可通過(guò)單個(gè)標(biāo)識(shí)符的using聲明或命名空間中所有標(biāo)識(shí)符的using指令來(lái)訪(fǎng)問(wèn)成員。

命名空間可以定義在幾個(gè)不同的部分中,因此命名空間是由幾個(gè)單獨(dú)定義的部分組成的。一個(gè)命名空間的各個(gè)組成部分可以分散在多個(gè)文件中。

2.定義

命名空間的定義使用關(guān)鍵字namespace,后跟命名空間的名稱(chēng)。

namespace namespace_name

{

// 代碼聲明

}

調(diào)用帶有命名空間的函數(shù)或者變量時(shí),需要在前面加上命名空間的名稱(chēng)(使用完全限定名)。

namespace_name::code; // code 可以是變量或函數(shù)

樣例:

#include<iostream>
using namespace std;
namespace A 
{
    void func() 
    {
        cout << "A" << endl;
    }
}
// 第二個(gè)命名空間
namespace B {
    void func() 
    {
        cout << "B" << endl;
    }
}
int main()
{
    // 調(diào)用第一個(gè)命名空間中的函數(shù)
    A::func();
    // 調(diào)用第二個(gè)命名空間中的函數(shù)
    B::func();
    return 0;
}

結(jié)果:

3.using 指令

當(dāng)使用using 指令時(shí),便可不用加完全限定名直接訪(fǎng)問(wèn)。

這個(gè)指令會(huì)讓編譯器直接使用namespace里的所有名稱(chēng)。

樣例:

#include<iostream>
using namespace std;
namespace A 
{
    void func() 
    {
        cout << "A" << endl;
    }
}
// 第二個(gè)命名空間
namespace B {
    void func() 
    {
        cout << "B" << endl;
    }
}
using namespace B;
int main()
{
    // 只會(huì)調(diào)用第二個(gè)命名空間中的函數(shù)
    func();
    return 0;
}

結(jié)果:

4.using 聲明

使用 using 聲明,以將一個(gè)標(biāo)識(shí)符引入范圍:

#include<iostream>
using namespace std;
namespace A
{
    class a
    {
    public:
        void func()
        {
            cout << "A" << endl;
        }
    };
}
using namespace A;
A::a aa;
int main()
{
    aa.func();
    return 0;
}

結(jié)果為:

5.嵌套的命名空間

一個(gè)命名空間中可以定義另一個(gè)命名空間,一般形式為:

namespace namespace_name1 {
   // 代碼聲明
   namespace namespace_name2 {
      // 代碼聲明
   }
}

像上列代碼,如果要訪(fǎng)問(wèn)namespace_name2中的成員,我們得使用::運(yùn)算符來(lái)訪(fǎng)問(wèn):

// 訪(fǎng)問(wèn) namespace_name2 中的成員

using namespace namespace_name1::namespace_name2;

// 訪(fǎng)問(wèn) namespace_name1 中的成員

using namespace namespace_name1;

樣例:

#include<iostream>
using namespace std;
namespace A
{
    void func()
    {
        cout << "A" << endl;
    }
    // 第二個(gè)命名空間
    namespace B 
    {
        void func()
        {
            cout << "B" << endl;
        }
    }
}
using namespace A::B;
int main()
{
    // 只會(huì)調(diào)用第二個(gè)命名空間中的函數(shù)
    func();
    return 0;
}

結(jié)果為:

到此這篇關(guān)于C++命名空間使用詳細(xì)介紹的文章就介紹到這了,更多相關(guān)C++命名空間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 將?C++?類(lèi)型屬性暴露給?QML

    將?C++?類(lèi)型屬性暴露給?QML

    這篇文章主要介紹了將?C++?類(lèi)型屬性暴露給?QML,?QML?是一種基于?JavaScript?的聲明式語(yǔ)言。在?Qt5中,QML有了長(zhǎng)足進(jìn)步,并且同?C++?并列成為?Qt?的首選編程語(yǔ)言下面一起進(jìn)入文章學(xué)習(xí)?QML的條件下也看看如何將將?C++?類(lèi)型屬性暴露給?QML,需要的朋友可以參考一下
    2021-12-12
  • C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)詳細(xì)解析二叉樹(shù)的操作

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)詳細(xì)解析二叉樹(shù)的操作

    二叉樹(shù)可以簡(jiǎn)單理解為對(duì)于一個(gè)節(jié)點(diǎn)來(lái)說(shuō),最多擁有一個(gè)上級(jí)節(jié)點(diǎn),同時(shí)最多具備左右兩個(gè)下級(jí)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。本文將詳細(xì)介紹一下C++中二叉樹(shù)的實(shí)現(xiàn)和遍歷,需要的可以參考一下
    2022-04-04
  • C++11中強(qiáng)類(lèi)型枚舉的使用

    C++11中強(qiáng)類(lèi)型枚舉的使用

    本文主要介紹了C++11中強(qiáng)類(lèi)型枚舉的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • c語(yǔ)言指針之二級(jí)指針示例

    c語(yǔ)言指針之二級(jí)指針示例

    這篇文章主要介紹了c語(yǔ)言指針中的二級(jí)指針示例,需要的朋友可以參考下
    2014-04-04
  • C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解

    C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解

    這篇文章主要介紹了C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語(yǔ)言之把數(shù)組名作函數(shù)參數(shù)的四種情況說(shuō)明

    C語(yǔ)言之把數(shù)組名作函數(shù)參數(shù)的四種情況說(shuō)明

    這篇文章主要介紹了C語(yǔ)言之把數(shù)組名作函數(shù)參數(shù)的四種情況說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C語(yǔ)言數(shù)據(jù)類(lèi)型和格式說(shuō)明符基礎(chǔ)教程示例

    C語(yǔ)言數(shù)據(jù)類(lèi)型和格式說(shuō)明符基礎(chǔ)教程示例

    這篇文章主要為大家介紹了C語(yǔ)言數(shù)據(jù)類(lèi)型和格式說(shuō)明符基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • C++實(shí)踐排序函數(shù)模板項(xiàng)目的參考方法

    C++實(shí)踐排序函數(shù)模板項(xiàng)目的參考方法

    今天小編就為大家分享一篇關(guān)于C++實(shí)踐排序函數(shù)模板項(xiàng)目的參考方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • C++利用函數(shù)動(dòng)態(tài)創(chuàng)建二維數(shù)組

    C++利用函數(shù)動(dòng)態(tài)創(chuàng)建二維數(shù)組

    這篇文章主要為大家詳細(xì)介紹了C++利用函數(shù)動(dòng)態(tài)創(chuàng)建二維數(shù)組,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • C語(yǔ)言基礎(chǔ)解析之分支與循環(huán)語(yǔ)句

    C語(yǔ)言基礎(chǔ)解析之分支與循環(huán)語(yǔ)句

    C語(yǔ)言是一門(mén)結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,當(dāng)C語(yǔ)言用來(lái)描述生活中的事物時(shí),會(huì)用到三種結(jié)構(gòu):順序結(jié)構(gòu)(不去贅述),選擇結(jié)構(gòu)(對(duì)應(yīng)分支語(yǔ)句),循環(huán)結(jié)構(gòu)(對(duì)應(yīng)循環(huán)語(yǔ)句),分支語(yǔ)句:分支語(yǔ)句分為兩種,一種是if語(yǔ)句,一種是switch語(yǔ)句
    2021-09-09

最新評(píng)論

瑞丽市| 兰西县| 舞阳县| 定日县| 塔河县| 洞头县| 彭山县| 青河县| 岳阳市| 裕民县| 离岛区| 遂昌县| 桓仁| 读书| 乾安县| 莆田市| 通辽市| 肃宁县| 东乡| 航空| 略阳县| 贵南县| 枣强县| 洛扎县| 株洲市| 舒城县| 唐山市| 印江| 巫溪县| 张家界市| 昆山市| 兴和县| 武胜县| 岱山县| 甘德县| 乐业县| 秀山| 琼海市| 新津县| 连江县| 徐水县|