成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 前端
在編程中,變量的聲明通常指的是告訴編譯器一個變量的存在,但不分配實際的內存空間。而變量的定義則是在聲明的基礎上為變量分配內存空間。這兩者的區別在于是否需要為變量分配存儲空間。

在編程中,變量的聲明和定義是兩個重要的概念,它們在不同情況下有著不同的作用。本文將探討extern和export關鍵字的作用,以及它們之間的區別。

聲明與定義

在編程中,變量的聲明通常指的是告訴編譯器一個變量的存在,但不分配實際的內存空間。而變量的定義則是在聲明的基礎上為變量分配內存空間。這兩者的區別在于是否需要為變量分配存儲空間。

extern關鍵字

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

extern關鍵字通常用于引用全局變量或函數,以實現跨文件的共享。這可以使程序更模塊化,減少代碼的重復編寫。

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

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

export的主要作用是將模板的定義與實現分離,使得模板可以在不同的編譯單元中共享。這提供了更大的靈活性和可維護性,特別是在大型項目中。

extern "C"的用法

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

因此,extern "C"通常用于C++程序或其相關頭文件中,以便與C語言的函數進行交互,確保函數的名稱和調用約定與C語言兼容。

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

explicit的作用

explicit阻止隱式轉換

隱式轉換

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

explicit阻止隱式轉換

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); //正確,可與顯示調用
}
責任編輯:武曉燕 來源: 今日頭條
相關推薦

2015-07-28 17:11:00

編程技術提升

2019-10-24 09:29:13

編程Python程序

2015-07-02 13:32:22

黑客中國黑客

2023-02-01 09:27:46

2009-09-02 17:04:35

C# Extern修飾

2021-07-11 18:04:04

C語言

2013-01-05 02:11:39

工程師程序員

2010-03-11 15:16:52

Python編程語言

2013-07-26 10:07:00

OSPF協議OSPF區域

2017-04-14 14:57:03

機器學習學習資源

2011-05-13 14:56:14

autoregisterstatic

2021-01-13 09:40:26

Linuxexport命令

2021-04-26 09:25:10

JavaKafka架構

2010-07-12 14:16:19

UML活動圖

2023-11-27 19:35:01

C++extern

2014-07-28 14:04:26

2010-03-17 18:38:53

Java編程語言

2009-06-29 16:24:00

JSP和Servlet

2017-06-29 13:29:34

大數據PAI機器學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品在线一区 | 免费一级黄色录像 | 美女视频.| 亚洲一区二区三区观看 | 久久久天天 | 少妇无套高潮一二三区 | 欧美午夜精品久久久久免费视 | 一区二区在线不卡 | 国产乱精品一区二区三区 | 国产乱码精品1区2区3区 | 一区二区三区视频免费看 | 91小视频在线| 国产精品免费一区二区三区 | 亚洲国产精品99久久久久久久久 | 亚洲精品在线免费观看视频 | 97人人超碰 | 一区2区| 黄色在线免费观看 | 成人在线播放 | 久久精品视频网站 | 久久av在线播放 | 99精品欧美一区二区蜜桃免费 | 国产成人免费视频网站高清观看视频 | 欧美日韩在线观看视频网站 | 日韩成人精品一区 | 日本在线播放一区二区 | 精品综合久久久 | www九色| 国产视频一区二区在线观看 | 男女羞羞免费网站 | 一区二区伦理电影 | 国产女人与拘做受视频 | 99影视| 精品少妇一区二区三区在线播放 | 精品不卡| 国产精品日女人 | 久久噜噜噜精品国产亚洲综合 | 欧美性jizz18性欧美 | 久草视频在线播放 | 91亚洲国产 | 久久99精品久久久久久国产越南 |