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

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

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

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

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

聲明與定義

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

extern關鍵字

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

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

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

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

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

extern "C"的用法

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

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

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

explicit的作用

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

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

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

explicit阻止隱式轉換vtt28資訊網——每日最新資訊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證書詳解

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

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 济南市| 安吉县| 永嘉县| 泗水县| 建阳市| 静海县| 河东区| 高淳县| 宜川县| 通江县| 丰城市| 共和县| 沅陵县| 阿图什市| 永安市| 化德县| 上林县| 共和县| 溧阳市| 宜丰县| 丰顺县| 开阳县| 买车| 高阳县| 泗阳县| 荆州市| 高邮市| 南靖县| 南乐县| 安远县| 孝感市| 丹东市| 都兰县| 筠连县| 蒙阴县| 漳州市| 汕头市| 通河县| 志丹县| 呼伦贝尔市| 平湖市|