C++中extern使用
生活随笔
收集整理的這篇文章主要介紹了
C++中extern使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++中extern是指全局的意思。它一般有兩個方面的用途:
1、聲明變量
首先說一下聲明和定義的區別:
①變量的定義:用于為變量分配存儲空間,還可以為變量指定初始值。在一個程序中,變量有且僅有一個定義。
②變量的聲明:用于向程序表明變量的類型和名字。定義也是聲明:當定義變量時我們聲明了它的類型和名字。可以通過使用extern 關鍵字聲明變量名而不定義它。例如:
extern int i; //聲明一個變量i,但是并沒有定義
int i; //聲明并且定義了一個變量i
extern 聲明不是定義,也不分配存儲空間。事實上,它只是說明變量定義在程序的其他地方。程序中變量可以聲明多次,但只能定義一次。
只有當聲明也是定義時,聲明才可以有初始化式,因為只有定義才分配存儲空間。初始化式必須要有存儲空間來進行初始化。如果聲明有初始化式,那么它可被當作是定義,即使聲明標記為 extern例如:
extern int i = 0;
雖然使用了 extern ,但是這條語句還是定義了i,分配并初始化了存儲空間。只有當extern聲明位于函數外部時,才可以含有初始化式。
因為已初始化的extern聲明被當作是定義,所以該變量任何隨后的定義都是錯誤的:例如:
extern int i = 0;
int i; //報錯,重復的定義
同樣,隨后的含有初始化式的extern聲明也是錯誤的:
extern int i = 0; // 定義
extern int i; // 只聲明,正確
extern int i = 0; // 重復定義,錯誤
更多關于extern const的內容可以參考https://blog.51cto.com/u_6924918/1266936
總結
以上是生活随笔為你收集整理的C++中extern使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于C++的本征图像分解(Intrins
- 下一篇: Python修改Mitsuba的XML相