網站首頁 編程語言 正文
文章轉自微信公眾號:Coder梁(ID:Coder_LT)
一、名稱空間特性
1.嵌套
我們可以將名稱空間聲明進行嵌套:
namespace elements { ? ? namespace fire { ? ? ? ? int flame; ? ? ? ? ... ? ? } ? ? float water; }
我們觀察一下可以發現這里的flame
位于elements::fire
當中,所以當我們使用解析運算符使用它的時候寫成:elements::fire::flame。
同樣,我們也可以使用using編譯指令引入fire名稱空間:
using namespace elements::fire;
2.傳遞
并且我們還可以把using編譯指令和using聲明應用在名稱空間當中:
namespace myth { ? ? using Jill::fetch; ? ? using namespace elements; ? ? using std::cout; ? ? using std::cin; }
假設我們要訪問Jill::fetch
,由于它已經被引入myth當中了,所以我們可以這樣訪問:
std::cin >> myth::fetch;
并且using編譯指令是可以傳遞的,A 引入了B,B引入了C,等價于A也引入了C。比如當我們運行using namespace myth
;,由于myth當中引入了elements
,等價于同時運行了這兩條:
using namespace myth; using namespace elements;
3.別名
我們還可以給名稱空間創建別名,例如:
namespace my = myth::elements::fire; using my::flame;
在上面這個例子當中,我們將別名和名稱空間的嵌套結合在了一起使用。其實有一點像是將名稱空間當成是一種特殊變量處理的感覺。
4.匿名名稱空間
我們還可以省略名稱空間的名稱來創建匿名名稱空間。
namespace { ? ? int ice; ? ? int bandy; }
它相當于后面跟著using
編譯指令一樣,也就是說匿名的名稱空間的潛在作用域為從聲明點到該聲明區域末尾。從這點來看,它與全局變量相似。但由于它是匿名的,所以無法在其他文件當中使用using
關鍵字引入,所以不能在其他文件使用,某種意義上有些類似于鏈接性為內部的靜態變量。
相關推薦
- 2022-12-28 React+Electron快速創建并打包成桌面應用的實例代碼_React
- 2022-06-30 Oracle對PL/SQL中的異常處理_oracle
- 2022-01-31 git統計當前項目代碼行數
- 2022-04-01 詳解Prometheus自動發現之file_sd_config
- 2022-12-11 SQL中創建存儲過程_MsSql
- 2023-06-05 Go實現共享庫的方法_Golang
- 2021-12-04 解決ASP.NET?Core中使用漏桶算法限流的問題_實用技巧
- 2022-11-10 一文詳解Redis中的持久化_Redis
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支