日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace

發布時間:2025/3/21 c/c++ 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 定義

關鍵字 namespace 后緊跟花括號括起來的一系列聲明語句

1.1 生命周期

未命名的命名空間中定義的變量擁有靜態生命周期: 它們在第一次使用前創建, 并且直到程序結束才銷毀

未命名的命名空間取代文件中的static 靜態聲明

1.2 多個文件

每個文件定義自己的未命名的命名空間,如果兩個文件都含有未命名的命名空間,則這兩個空間互相無關。

  • 在這兩個未命名的命名空間里面可以定義相同的名字,并且這些定義表示的是不同實體。

  • 如果一個頭文件定義了未命名的命名空間,則該命名空間中定義的名字將在每個包含了該頭文件的文件中對應不同實體。

  • 和其他命名空間不同,未命名的命名空間僅在特定的文件內部有效,其作用范圍不會橫跨多個不同的文件。

1.3 作用域

如果未命名的命名空間定義在文件的最外層作用域中, 則該命名空間中的名字一定要與全局作用域
中的名字有所區別

int i; / / i的全局聲明 namespace {int i; }// 二義性: i的定義既出現在全局作用城中, 又出現在未嵌套的未命名的命名空間中 i = 10;//一個未命名的命名空間也能嵌套在其他命名空間當中。 此時, 未命名的命名空間中的成員 可以通過外層命名空間的名字來訪問: namespace local {namespace {int i;} }// 正確: 定義在嵌套的未命名的命名空間中的i與全局作用域中的i不同 local::i=42; 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。