在C++中,extern
關(guān)鍵字用于聲明一個(gè)變量或函數(shù)是在其他地方定義的,即它的定義在其他的源文件中。該關(guān)鍵字告訴編譯器在當(dāng)前文件中使用該變量或函數(shù),而不是在當(dāng)前文件中定義它。
通過使用extern
關(guān)鍵字,我們可以在一個(gè)源文件中聲明一個(gè)變量或函數(shù),在另一個(gè)源文件中定義它,并在需要的地方使用它。這在大型項(xiàng)目中非常有用,可以將代碼分為多個(gè)文件,提高代碼的可讀性和維護(hù)性。
如果不使用extern
關(guān)鍵字聲明一個(gè)變量或函數(shù),編譯器將會認(rèn)為該變量或函數(shù)是在當(dāng)前文件中定義的,并在編譯過程中進(jìn)行相應(yīng)的處理。
以下是extern
關(guān)鍵字的兩個(gè)常見用途:
extern
關(guān)鍵字聲明一個(gè)全局變量,可以在其他源文件中使用該全局變量。extern
關(guān)鍵字聲明一個(gè)函數(shù),可以在其他源文件中調(diào)用該函數(shù)。例如,在文件A.cpp中聲明一個(gè)全局變量:
// A.cpp
extern int globalVariable;
在文件B.cpp中定義該全局變量:
// B.cpp
int globalVariable = 10;
然后在需要的地方就可以使用該全局變量:
// C.cpp
extern int globalVariable;
int main() {
// 使用globalVariable
return 0;
}
通過使用extern
關(guān)鍵字,我們可以在文件C.cpp中使用在文件B.cpp中定義的全局變量。