【和春筍一起學C++】(三十三)名稱空間的其他特性

目錄

嵌套式名稱空間

拓展——未命名的名稱空間


嵌套式名稱空間

示例代碼1:

namespace electronicEquipment
{namespace computer{double price = 4999.0;string modelNumber;string name;}namespace ElectronicWatch{double price = 99.0;string modelNumber;string name;}int equipmentNumber;
}

如果要使用computer名稱空間中名稱,則需要使用的using編譯指令為:

using namespace electronicEquipment::computer;

在名稱空間中使用using編譯指令,示例程序2:

#include <iostream>
#include <string>
using namespace std;namespace book
{double price = 19.9;std::string series;std::string name;
}namespace electronicEquipment
{using namespace book;namespace computer{double price = 4999.0;string modelNumber;string name;}namespace ElectronicWatch{double price = 99.0;string modelNumber;string name;}int equipmentNumber;
}int main()
{using namespace electronicEquipment;double a= price;cout << "a=" << a << endl;return 0;
}

main()函數輸出結果為19.9,輸出的是名稱空間book中的price。

說明:using編譯指令是可傳遞的。如果A op B且B op C,如果A op C成立,那么我們說操作op是可傳遞的。例如:大于操作符是可傳遞的,因為A>B,B>C,則A>C成立。

所以當electronicEquipment名稱空間中包含了名稱空間book,且book名稱空間中又有price,則相當于electronicEquipment名稱空間包含了名稱price,因此輸出的price是book名稱空間中的。

由于名稱空間electronicEquipment的聲明中添加了使用book名稱空間的編譯指令,因此,編譯指令using namespace electronicEquipment;和下面兩條語句等價。

using namespace electronicEquipment;
using namespace book;

拓展——未命名的名稱空間

可以通過省略名稱空間的名稱來創建未命名的名稱空間,例如,將示例程序2中的book名稱空間名稱空間名省略。

namespace
{double price = 19.9;std::string series;std::string name;
}

當省略名稱空間名后,該名稱空間中的名稱的作用域為:從聲明點到該聲明區域末尾,從這一點看,它與全局變量相似。但是由于沒有名稱空間名,它無法顯式的使用using編譯指令來使它在其他地方可用,即它無法在其他文件中使用。因此,這種方法只能替代鏈接性為內部的靜態變量。(事實上,最新的C++標準中已經指出不贊成在名稱空間和全局作用域中使用關鍵字static,雖然目前合法,但以后的修訂標準很可能視為非法)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94902.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94902.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94902.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

異步電動機負載運行特性全解析

異步電動機負載運行特性詳解 ——從空載到負載的完整分析一、為什么需要再談“負載運行” 在上一篇《感應電動機空載特性深度剖析》中&#xff0c;我們已經看到&#xff1a;空載時&#xff0c;若定子加額定電壓&#xff0c;轉子轉速 $n \approx n_s$&#xff08;同步轉速&#…

使用 Ansys Discovery 進行動態設計和分析

Ansys Discovery 是一款多功能工具&#xff0c;為創建模型、探索仿真設計和分析解決方案提供了一個單一的交互式工作區。它允許用戶使用直接建模技術創建和修改幾何結構&#xff0c;定義仿真并與結果實時交互。Discovery 支持結構、流體流動、熱和電磁設計&#xff0c;提供直觀…

力扣熱題100-----118.楊輝三角

案例 給定一個非負整數 numRows&#xff0c;生成「楊輝三角」的前 numRows 行。 在「楊輝三角」中&#xff0c;每個數是它左上方和右上方的數的和。 示例 1: 輸入: numRows 5 輸出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 輸入: numRows 1 輸出: [[1]] 提示: 1 …

NTP /Chrony 網絡時間協議

一、NTP&#xff08;network time protocol&#xff09;網絡時間協議&#xff1a;實現時間同步&#xff0c;讓設備時間與國際標準時間保持一致設備日志、服務日志需要記錄時間分布式系統&#xff08;分布式數據庫、分布式緩存、分布式儲存、消息隊列&#xff09;時間戳&#xf…

VSCode 刷 LeetCode 算法題配置教程

LeetCode 在線刷題地址&#xff1a;https://leetcode-cn.com/ 一、安裝 Node.js 環境 LeetCode 插件依賴 node.js 運行環境&#xff0c;因此必須先安裝&#xff1a; 前往官網下載安裝&#xff1a;https://nodejs.cn/download/下載好的壓縮包解壓&#xff0c;可以看到當前文件…

非常簡單!從零學習如何免費制作一個lofi視頻

想必大家在網上會看到如下類似的音樂頻道&#xff0c;這類頻道都只是上傳簡單的Lo-Fi音樂帶著循環播放的背景就可以賺錢。 那么上面的效果如何實現的呢&#xff1f;今天做一個可以免費制作lo-Fi音樂的教程。 Lo-Fi音樂&#xff1a; Lo-Fi音樂是一種以低保真度和模擬音色為特點…

基于 RAUC 的 Jetson OTA 升級全攻略

&#x1f4d6; 推薦閱讀&#xff1a;《Yocto項目實戰教程:高效定制嵌入式Linux系統》 &#x1f3a5; 更多學習視頻請關注 B 站&#xff1a;嵌入式Jerry 基于 RAUC 的 Jetson OTA 升級全攻略 0. 引子&#xff1a;常見問題 在 Jetson 平臺做 OTA 升級時&#xff0c;你可能會問&…

MySQL 主備(Master-Slave)復制 的搭建

一、主備架構簡介 Master&#xff08;主庫&#xff09;&#xff1a;負責處理所有寫操作&#xff08;INSERT/UPDATE/DELETE&#xff09;&#xff0c;并記錄二進制日志&#xff08;binlog&#xff09;。Slave&#xff08;備庫&#xff09;&#xff1a;從主庫拉取 binlog&#xff…

【三個數絕對值排序】2022-10-10

緣由絕對值比較&#xff0c;總是跑不過怎么辦-編程語言-CSDN問答 template <class 形參> inline void 算交換(形參& a, 形參& b){ 形參 ab a - b; a - ab; b ab; } template <class 形參> void 三個升序(形參& a, 形參& b, 形參& c) {if (a…

【LoRA模型訓練】Stable Diffusion LoRA 模型秋葉訓練器詳細教程

一、工具簡介與安裝指南 1.1 秋葉 LoRA 訓練器概述 秋葉 LoRA 訓練器&#xff08;基于 Akegarasu/lora-scripts 項目&#xff09;是針對 Stable Diffusion 模型的輕量化微調工具&#xff0c;通過低秩適應&#xff08;LoRA&#xff09;技術實現高效參數微調。其核心優勢在于&a…

C++2024 年一級

1 單選題 (每題 2 分,共 30 分) 12 ? 題號 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 C C D B B D B C C C D C D B D 第 1 題 2024年10?8? &#xff0c;諾貝爾物理學獎“意外地”頒給了兩位計算機科學家約翰霍普菲爾德&#xff08;John J. Hopfield&#xff09;和杰 弗??…

react-window

下面&#xff0c;我們來系統的梳理關于 React 虛擬化列表&#xff1a;react-window 的基本知識點&#xff1a;一、虛擬化列表核心概念 1.1 什么是虛擬化列表&#xff1f; 虛擬化列表&#xff08;也稱為窗口化&#xff09;是一種只渲染當前可見區域列表項的技術&#xff0c;而不…

2025AI顛覆認知!解鎖智能新紀元

清晨的城市還裹著薄霧時&#xff0c;通勤族的手機已經自動規劃好最優路線——避開施工路段、實時更新交通狀況&#xff0c;連早餐店排隊人數都能精準預測。這不是科幻電影里的片段&#xff0c;而是2025年AI深度融入生活的尋常場景。當數字化與智能化浪潮席卷而來&#xff0c;我…

實用Shell高級視頻課程

實用Shell高級視頻課程 Shell三劍客sed我網盤給你分享了「實用Shell高級視頻課程」&#xff0c;點擊鏈接或復制整段內容&#xff0c;打開「APP」即可獲取。/bc3b37jg8i:/鏈接&#xff1a;http://t.cn/A6swtV7u提取碼&#xff1a;ePV4 ???

hive-日期拆分為多行

hive-日期拆分為多行 代碼 SELECT begin_date,date_add(begin_date, tmp.pos),end_date,d_days,tmp.pos,tmp.val FROM (SELECT begin_date,end_date,DATEDIFF(end_date, begin_date) AS d_daysFROM (SELECT 2025-08-01 AS begin_date,2025-08-10 AS end_date) a) b LA…

全志MPP學習(1)-全志MPP概念理清

文章目錄1、全志MPP1.1、MPP-Framework1.2、MPP-Middleware1.3、MPP-Framework和MPP-Middleware之間的關系2、總結1、全志MPP 全志MPP&#xff08;Media Process Platform&#xff09;媒體處理軟件平臺&#xff0c;分為 mpp-middleware 和 mpp-framework 兩部分。 mpp-middlew…

Linux操作系統啟動項相關研究與總結

Linux操作系統啟動項相關研究與總結 一、Linux Systemd 服務創建與管理研究 1. Systemd 服務基礎 1.1 Systemd 服務文件位置 1.2 服務文件基本結構 2. 創建自定義 Systemd 服務 2.1 基本服務文件示例 2.2 服務文件詳細配置選項 [Unit] 部分常用指令: [Service] 部分常用指令:…

Go map 的性能革命:深入解析從鏈表到 Swiss Table 的優化之路

你好&#xff0c;Gopher&#xff01;map 作為 Go 語言中最核心、最常用的數據結構之一&#xff0c;其性能直接影響著我們程序的效率。在 Go 1.24 版本中&#xff0c;map的底層實現迎來了一次意義深遠的變革&#xff0c;從沿用多年的“哈希桶鏈表”結構&#xff0c;悄然升級為了…

化工廠安全升級:分布式光纖傳感的 “實時監測 + 精準預警” 方案

分布式光纖傳感技術憑借長距離連續監測、抗電磁干擾、耐腐蝕、高靈敏度、實時響應等特性&#xff0c;非常適配化工領域中化學原料及化學制品工廠的復雜環境&#xff0c;如高溫、高壓、腐蝕性介質、強電磁干擾等&#xff0c;在安全生產、設備維護、風險預警等方面發揮著關鍵作用…

供應鏈需求預測項目如何設定合理的KPI、準確率指標(十四)

本篇文章適合希望優化供應鏈管理的讀者&#xff0c;尤其是對KPI的選擇與應用有興趣的人。文章的亮點在于揭示了不當KPI使用可能導致的風險&#xff0c;如狹隘的關注、協作減少和與業務目標不一致等&#xff0c;同時提供了如何選擇合適KPI的最佳實踐。 本文整合自文章&#xff…