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

C++中命名空間的概念及使用詳解

 更新時間:2023年08月03日 09:42:57   作者:Pin_na  
這篇文章主要介紹了C++中命名空間的概念及使用詳解,使用命名空間的目的是對標(biāo)識符的名稱進(jìn)行本地化,以避免命名沖突或名字污染,namespace關(guān)鍵字就是針對這種問題而出現(xiàn)的,需要的朋友可以參考下

什么是命名空間?

字面意思來理解,命名空間主要有兩個點(diǎn)——“名字”和“空間”。

通過這兩個關(guān)鍵詞,我給大家簡單描述一下什么是命名空間(看下面↓)

舉個例子:

有一個學(xué)校,世界之大無奇不有,恰恰這個學(xué)校就比較奇怪。那你可能就會問了,這個學(xué)校究竟奇怪在哪里?這個學(xué)校奇怪的就是不僅有很多生日相同的學(xué)生,還有不少同學(xué)重名重姓。然后有一天放學(xué),學(xué)校里有人撿到了一個錢包,里面有張三的學(xué)生證,這個錢包就被送到了校長手里,校長看著學(xué)生這么懂事,對其大加贊賞,于是便打開廣播同時向各班表揚(yáng)了這名學(xué)生,并且讓名叫張三的學(xué)生來校長辦公室一趟。過了幾分鐘,校長打開門一看,門外站了七八個大漢,原來這些分別都是二三四各個班的張三,還有各個年級的張三,校長瞬間蒙圈,也不知道自己叫的是哪個張三了。

故事講完了,上面的各個班級各個年級就是不同的“空間”,張三就是一個“名字”,那個蒙圈的校長自然就是編譯器啦。“校長”蒙圈,程序自然就無法正常的執(zhí)行了。那么為什么校長沒有找到真正的張三呢?原因就在于各個空間中的變量、函數(shù)、類命名發(fā)生了沖突、命名被相互污染了,所以為了解決這種問題,我們就加入了命名空間。之后校長再要找張三,他就會在廣播上喊高二三班的張三來我辦公室一下,就可以精確的找到需要找的內(nèi)容了。

概念

在C/C++中,變量、函數(shù)和后面要學(xué)到的類都是大量存在的,這些變量、函數(shù)和類的名稱將都存在于全局作 用域中,可能會導(dǎo)致很多沖突。

使用命名空間的目的是對標(biāo)識符的名稱進(jìn)行本地化,以避免命名沖突或名字 污染,namespace關(guān)鍵字就是針對這種問題而出現(xiàn)的。

定義

namespace + 命名空間名稱 + { 命名空間成員 }

特點(diǎn)

1. 普通的命名空間

namespace N1 // N1為命名空間的名稱
{
    // 命名空間中的內(nèi)容,既可以定義變量,也可以定義函數(shù)
    int a;
    int Add(int left, int right)
    {
        return left + right;
    }
}

2.命名空間可以嵌套

namespace N2
{
    int a;
    int b;
    int Add(int left, int right)
    {
        return left + right;
    }
    namespace N3
    {
        int c;
        int d;
        int Sub(int left, int right)
        {
            return left - right;
        }
    }
}

3. 同一個工程中允許存在多個相同名稱的命名空間(編譯器會合成到同一個命名空間)

// 編譯器最后會合成同一個命名空間中
namespace N1
{
    int Mul(int left, int right)
    {
        return left * right;
    }
}

一個命名空間就定義了一個新的作用域,命名空間中的所有內(nèi)容都局限于該命名空間中

命名空間的三種使用方式

1.加命名空間名稱及作用域限定符

int main()
{
    printf("%d\n", N::a);
    return 0;
}

2.使用using將命名空間中成員引入

using N::b;
int main()
{
    printf("%d\n", N::a);
    printf("%d\n", b);
    return 0;
}

3.使用using namespace 命名空間名稱引入

using namespce N;
int main()
{
    printf("%d\n", N::a);
    printf("%d\n", b);
    Add(10, 20);
    return 0;
}

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

相關(guān)文章

  • 基于C++執(zhí)行內(nèi)存memcpy效率測試的分析

    基于C++執(zhí)行內(nèi)存memcpy效率測試的分析

    本篇文章對C++中執(zhí)行內(nèi)存memcpy的效率進(jìn)行了分析測試。需要的朋友參考下
    2013-05-05
  • 解析C++的線性表鏈?zhǔn)酱鎯υO(shè)計(jì)與相關(guān)的API實(shí)現(xiàn)

    解析C++的線性表鏈?zhǔn)酱鎯υO(shè)計(jì)與相關(guān)的API實(shí)現(xiàn)

    這篇文章主要介紹了解析C++中的線性表鏈?zhǔn)酱鎯υO(shè)計(jì)與相關(guān)的API實(shí)現(xiàn),文中的實(shí)例很好地體現(xiàn)了如何創(chuàng)建和遍歷鏈表等基本操作,需要的朋友可以參考下
    2016-03-03
  • C++輕松實(shí)現(xiàn)字符串與字符數(shù)組的相互轉(zhuǎn)換

    C++輕松實(shí)現(xiàn)字符串與字符數(shù)組的相互轉(zhuǎn)換

    本文詳細(xì)介紹了如何在C++中通過c_str()和strcpy()函數(shù)將字符串轉(zhuǎn)換為字符數(shù)組,以及使用for循環(huán)、+運(yùn)算符、重載=和內(nèi)置構(gòu)造函數(shù)將字符數(shù)組轉(zhuǎn)換為字符串的方法,需要的朋友可以參考下
    2025-03-03
  • C語言中的各種文件讀寫方法小結(jié)

    C語言中的各種文件讀寫方法小結(jié)

    這篇文章主要介紹了C語言中的各種文件讀寫方法小結(jié),是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-07-07
  • Qt控件之QLabel用法及技巧

    Qt控件之QLabel用法及技巧

    QLabel是Qt中的一個控件類,用于顯示文本或圖像的控件類之一,本文主要介紹了Qt控件之QLabel用法及技巧,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • QT基于TCP網(wǎng)絡(luò)聊天室

    QT基于TCP網(wǎng)絡(luò)聊天室

    這篇文章主要為大家詳細(xì)介紹了QT基于TCP網(wǎng)絡(luò)聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++利用socket傳輸大文件的實(shí)現(xiàn)代碼

    C++利用socket傳輸大文件的實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了C/C++如何使用socket傳輸大文件的實(shí)現(xiàn)代碼,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-10-10
  • C++11/14 線程調(diào)用類對象和線程傳參的方法

    C++11/14 線程調(diào)用類對象和線程傳參的方法

    這篇文章主要介紹了C++11/14 線程調(diào)用類對象和線程傳參的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • C++中的整型

    C++中的整型

    這篇文章我們來聊聊C++中的整型,整型即整數(shù),與小數(shù)對應(yīng)。許多語言只能表示一種整型(如Python),而在C++當(dāng)中根據(jù)整數(shù)的范圍提供了好幾種不同的整型,下面文章我們就來看看具體是哪幾種,需要的朋友也可以參考一下
    2021-11-11
  • 從c++標(biāo)準(zhǔn)庫指針萃取器談一下traits技法(推薦)

    從c++標(biāo)準(zhǔn)庫指針萃取器談一下traits技法(推薦)

    本篇文章基于gcc中標(biāo)準(zhǔn)庫源碼剖析一下標(biāo)準(zhǔn)庫中的模板類pointer_traits,并且以此為例理解一下traits技法,對c++ traits技法源碼分析感興趣的朋友跟隨小編一起看看吧
    2021-07-07

最新評論