C++的extern关键字
生活随笔
收集整理的這篇文章主要介紹了
C++的extern关键字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
extern是一個聲明,不是一個定義,A模塊想應用B模塊的一個函數或者變量,A模塊包含B模塊的頭文件,并且在變量或者頭文件前,加 extern,雖然編譯的時候,找不到模塊的定義,但是在連接的時候,會在B模塊生成的代碼中,找到函數或者變量。
1、外部用的時候,不能一個定義數組,一個定義指針這種
2、變量在.h中只是聲明,不要定義,不然外部模塊引用頭文件就是定義兩次,連接錯誤
3、可以在應用模塊再次聲明,不過這樣話,.h的文件函數就不能用了。
4、聲明一個ectern變量,只占據一份內存。
5、static聲明的時候,最好放在源文件,因為都引用這個頭文件的時候,容易造成內存污染
假如a.h中有 int a=10; t1.cpp和t2.cpp同時include "a.h"則編譯不成功,因為a重復定義;
如果 a.h中是 static int a=10;則可以,因為t1和t2中的a只是名字相同,地址空間不同;
如果a.h中是 extern int a; 并且在a.cpp中 int a=10; 則t1和t2中的a指向同一個地址空間。
詳細介紹? https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html
轉載于:https://www.cnblogs.com/132818Creator/p/8258881.html
總結
以上是生活随笔為你收集整理的C++的extern关键字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue从入门到进阶:简介(一)
- 下一篇: C++笔记------模版