AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

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

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

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

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

聲明與定義

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

extern關(guān)鍵字

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

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

export關(guān)鍵字(C++中新增)

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

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

extern "C"的用法

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

因此,extern "C"通常用于C++程序或其相關(guān)頭文件中,以便與C語言的函數(shù)進行交互,確保函數(shù)的名稱和調(diào)用約定與C語言兼容。DMr28資訊網(wǎng)——每日最新資訊28at.com

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

explicit的作用

explicit阻止隱式轉(zhuǎn)換DMr28資訊網(wǎng)——每日最新資訊28at.com

隱式轉(zhuǎn)換DMr28資訊網(wǎng)——每日最新資訊28at.com

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

explicit阻止隱式轉(zhuǎn)換DMr28資訊網(wǎng)——每日最新資訊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; //正確,隱式轉(zhuǎn)換Test2 t2 = 1;//錯誤,禁止隱式轉(zhuǎn)換Test2 t2(1); //正確,可與顯示調(diào)用}

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

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

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

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

標簽:
  • 熱門焦點
  • vivo TWS Air開箱體驗:真輕 臻好聽

    在vivo S15系列新機的發(fā)布會上,vivo的最新款真無線藍牙耳機vivo TWS Air也一同發(fā)布,本次就這款耳機新品給大家?guī)硪粋€簡單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產(chǎn)
  • 7月安卓手機性能榜:紅魔8S Pro再奪榜首

    7月份的手機市場風平浪靜,除了紅魔和努比亞帶來了兩款搭載驍龍8Gen2領(lǐng)先版處理器的新機之外,別的也想不到有什么新品了,這也正常,通常6月7月都是手機廠商修整的時間,進入8月份之
  • 6月iOS設(shè)備性能榜:M2穩(wěn)居榜首 A系列只能等一手3nm來救

    沒有新品發(fā)布,自然iOS設(shè)備性能榜的上榜設(shè)備就沒有什么更替,僅僅只有跑分變化而產(chǎn)生的排名變動,畢竟蘋果新品的發(fā)布節(jié)奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • “又被陳思誠騙了”

    作者|張思齊 出品|眾面(ID:ZhongMian_ZM)如今的國產(chǎn)懸疑電影,成了陳思誠的天下。最近大爆電影《消失的她》票房突破30億斷層奪魁暑期檔,陳思誠再度風頭無兩。你可以說陳思誠的
  • 2022爆款:ROG魔霸6 冰川散熱系統(tǒng)持續(xù)護航

    喜逢開學季,各大商家開始推出自己的新產(chǎn)品,進行打折促銷活動。對于忠實的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現(xiàn)在的
  • SN570 NVMe SSD固態(tài)硬盤 價格與性能兼具

    SN570 NVMe SSD固態(tài)硬盤是西部數(shù)據(jù)發(fā)布的最新一代WD Blue系列的固態(tài)硬盤,不僅閃存技術(shù)更為精進,性能也得到了進一步的躍升。WD Blue SN570 NVMe SSD的包裝外
  • 最薄的14英寸游戲筆記本電腦 Alienware X14已可以購買

    2022年1月份在國際消費電子展(CES2022)上首次亮相的Alienware新品——Alienware X14現(xiàn)在已經(jīng)可以購買了,這款筆記本電腦被譽為世界上最薄的 14 英寸游戲筆
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續(xù)還將開展常態(tài)化登記。  北京科技教育體驗基
Top