日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

【編程學習進階之路】Extern和Export的作用及區別

來源: 責編: 時間:2023-10-13 14:35:43 278觀看
導讀在編程中,變量的聲明和定義是兩個重要的概念,它們在不同情況下有著不同的作用。本文將探討extern和export關鍵字的作用,以及它們之間的區別。聲明與定義在編程中,變量的聲明通常指的是告訴編譯器一個變量的存在,但不分配實

在編程中,變量的聲明和定義是兩個重要的概念,它們在不同情況下有著不同的作用。本文將探討extern和export關鍵字的作用,以及它們之間的區別。jbN28資訊網——每日最新資訊28at.com

聲明與定義

在編程中,變量的聲明通常指的是告訴編譯器一個變量的存在,但不分配實際的內存空間。而變量的定義則是在聲明的基礎上為變量分配內存空間。這兩者的區別在于是否需要為變量分配存儲空間。jbN28資訊網——每日最新資訊28at.com

extern關鍵字

extern關鍵字通常用于聲明一個變量或函數,告訴編譯器該變量或函數是在其他文件中定義的。這意味著變量的實際定義存在于其他地方,而當前文件只是在這里引用它。例如,如果在一個C或C++程序中使用extern int a,那么編譯器會知道變量a是在另一個文件中定義的。jbN28資訊網——每日最新資訊28at.com

extern關鍵字通常用于引用全局變量或函數,以實現跨文件的共享。這可以使程序更模塊化,減少代碼的重復編寫。jbN28資訊網——每日最新資訊28at.com

export關鍵字(C++中新增)

在C++中,出現了一個新的關鍵字export,它與extern有些相似,但用于模板的情況。export關鍵字用于實現模板函數的外部調用。在模板函數的實現時,可以在其前面加上export關鍵字,這樣其他文件包含相應的頭文件后就可以使用該模板。jbN28資訊網——每日最新資訊28at.com

export的主要作用是將模板的定義與實現分離,使得模板可以在不同的編譯單元中共享。這提供了更大的靈活性和可維護性,特別是在大型項目中。jbN28資訊網——每日最新資訊28at.com

extern "C"的用法

在C語言中,對于外部函數的聲明通常使用extern關鍵字,而C語言不支持extern "C"聲明。在C語言的頭文件中,只能將外部函數指定為extern類型,而不能使用extern "C"。如果在C文件中包含了extern "C",則會導致編譯語法錯誤。jbN28資訊網——每日最新資訊28at.com

因此,extern "C"通常用于C++程序或其相關頭文件中,以便與C語言的函數進行交互,確保函數的名稱和調用約定與C語言兼容。jbN28資訊網——每日最新資訊28at.com

在編程中,extern用于引用在其他文件中定義的變量或函數,而export用于模板函數的外部調用,提供了更大的模塊化和可維護性。同時,extern "C"用于與C語言函數進行交互,確保兼容性。了解這些關鍵字的作用和用法可以幫助程序員更好地管理和組織代碼,使程序更加清晰和可維護。jbN28資訊網——每日最新資訊28at.com

explicit的作用

explicit阻止隱式轉換jbN28資訊網——每日最新資訊28at.com

隱式轉換jbN28資訊網——每日最新資訊28at.com

String s1 = "hello";//進行隱式轉換,等價于String s1 = String("hello");

explicit阻止隱式轉換jbN28資訊網——每日最新資訊28at.com

class Test1{public:Test1(int n){ num = n }private:int num;}class Test2{public:explicit Test2(int n){ num = n }private:int num;}int main(){Test1 t1 = 1; //正確,隱式轉換Test2 t2 = 1;//錯誤,禁止隱式轉換Test2 t2(1); //正確,可與顯示調用}

本文鏈接:http://www.www897cc.com/showinfo-26-13263-0.html【編程學習進階之路】Extern和Export的作用及區別

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 微服務部署—使用Docker安裝Nginx并配置免費的SSL證書詳解

下一篇: 提升代碼重用性:模板設計模式在實際項目中的應用

標簽:
  • 熱門焦點
  • 紅魔電競平板評測:大屏幕硬實力

    前言:三年的疫情因為要上網課的原因激活了平板市場,如今網課的時代已經過去,大家的生活都恢復到了正軌,這也就意味著,真正考驗平板電腦生存的環境來了。也就是面對著這種殘酷的
  • 容量越大越不壞?24萬塊硬盤故障率報告公布 這些產品零故障

    8月5日消息,云存儲服務商Backblaze發布了最新的硬盤故障率報告,年故障率有所上升。Backblaze發布的硬盤季度統計數據,其中包括故障率等重要方面。這些結
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 把LangChain跑起來的三個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 為什么你不應該使用Div作為可點擊元素

    按鈕是為任何網絡應用程序提供交互性的最常見方式。但我們經常傾向于使用其他HTML元素,如 div span 等作為 clickable 元素。但通過這樣做,我們錯過了許多內置瀏覽器的功能。
  • 慕巖炮轟抖音,百合網今何在?

    來源:價值研究所 作者:Hernanderz“難道就因為自己的一個產品牛逼了,從客服到總裁,都不愿意正視自己產品和運營上的問題,選擇逃避了嗎?”這一番話,出自百合網聯合創
  • 網紅炒股不為了賺錢,那就是耍流氓!

    來源:首席商業評論6月26日高調宣布入市,網絡名嘴大v胡錫進居然進軍了股市。在一次財經媒體峰會上,幾個財經圈媒體大佬就“胡錫進炒股是否知道認真報道”展開討論。有
  • 重估百度丨大模型,能撐起百度的“今天”嗎?

    自象限原創 作者|程心 羅輯2023年之前,對于自己的“今天”,百度也很迷茫。“新業務到 2022 年底還是 0,希望 2023 年出來一個 1。”這是2022年底,李彥宏
  • 三星獲批量產iPhone 15全系屏幕:蘋果史上最驚艷直屏

    按照慣例,蘋果將繼續在今年9月舉辦一年一度的秋季新品發布會,有傳言稱發布會將于9月12日舉行,屆時全新的iPhone 15系列將正式與大家見面,不出意外的話
Top 主站蜘蛛池模板: 定边县| 临沧市| 清徐县| 义马市| 泰顺县| 安多县| 清原| 阜宁县| 广德县| 苗栗市| 新化县| 建瓯市| 察隅县| 昌黎县| 文登市| 望谟县| 定陶县| 阿拉善右旗| 喀喇沁旗| 黄浦区| 抚顺市| 大名县| 迁西县| 沂南县| 阳曲县| 蒲城县| 襄樊市| 徐闻县| 汉阴县| 娄底市| 宁乡县| 凤山县| 秦安县| 福贡县| 噶尔县| 普兰店市| 怀来县| 海口市| 达拉特旗| 宝鸡市| 岢岚县|