const物件默覺得檔案的區域性變數

2021-09-08 04:29:27 字數 1193 閱讀 4924

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指標物...