const 定義的物件為乙個常量不能被改動。
這個想必大家都知道。
這裡僅僅是介紹const物件默覺得檔案的區域性變數
當乙個非const變數在乙個c或cpp檔案裡為全域性時,它在整個程式中都能夠訪問。我們在其它的c或cpp檔案要用到這個變數。僅僅須要在檔案做合適的宣告就能使用。
比如:main.cpp 中全域性變數bufsize
#include
using namespace std;
extern void function();
int bufsize = 100;
int main()
function.cpp中宣告了bufsize
#include
using namespace std;
extern int bufsize;
void function()
function.cpp內容不變
編譯執行:
g++ -o main main.cpp function.cpp
/tmp/ccdvo28n.o: in function `function()':
function.cpp:(.text+0xb): undefined reference to `bufsize'
collect2: ld returned 1 exit status
function.cpp中bufsize未定義
稍作改進:
main.cpp
#include
using namespace std;
extern void function();
extern const int bufsize = 100;
int main()
function.cpp不變
編譯執行:
g++ -o main main.cpp function.cpp
./main
function.cpp***bufsize----------100
執行正常
總結:
定義的非const全域性變數。它屬於整個程式,其它程式要訪問僅僅要對應的宣告就可以。
定義的const全域性變數,屬於定義的檔案,假設想要整個程式都能訪問,則要指定const變數為extern。
const 物件預設為檔案的區域性變數
定義非const變數時候,他是可以被其它檔案訪問的,不用引入哪個檔案 只需在使用的地方宣告下,這個變數來之外部extern type name variable name。而const變數不能這樣,預設的是檔案的區域性變數。若要改變這種情況則需特別宣告 extern cconst int a con...
const 物件預設為檔案的區域性變數
定義非const變數時候,他是可以被其它檔案訪問的,不用引入哪個檔案 只需在使用的地方宣告下,這個變數來之外部extern type name variable name。而const變數不能這樣,預設的是檔案的區域性變數。若要改變這種情況則需特別宣告 extern const int a cc.h...
指向const物件的指標 const指標
1.指向const物件的指標指向const物件的指標是乙個指標,但是不能通過它來修改它所指向的物件的值。宣告方法 const int p const指標物件在初始化後不允許對指標指向的物件的值進行修改,因此不能用乙個普通的指標指向乙個const 指標物件。否則,如果可以用普通指標修改const指標物...