天天看點

const的用法

在other.cpp中

#include<iostream>

using namespace std;

#const int global=5;  //加入const 會讓global原來的外部的連結型轉為内部連結性。

extern const int global=5;

void print(){

cout << global << endl;

}

在main.cpp中

extern const int global;//這裡會報錯,因為global中隻有other.cpp可以用。

int main(){

system("pause");

return 0;

若想這個const常量可以被main.cpp中使用,可以按藍色字型的加個extern就可以了。

<b>注意:若在other.cpp檔案中global變量不具有外部連結性,照樣可以通過他的函數print()通路</b>

<b>函數預設具有外部連結性!</b>

<b></b>

<b>這裡我還想提醒一下。任何變量或數組的指派,在main()和一些函數外,隻能在定義的時候指派。</b>

<b>不得定義後再指派。</b>

//extern const int global;

float * pd1 = new float[20];

int s=5;//可以在定義是直接指派。

//s = 5;錯的

int a[100];

//a[1]=3;錯的,

pd1[3] = 100.0;

cout &lt;&lt; pd1[1] &lt;&lt; endl;

float * pd2;

pd2 = new float[20];

pd2[0] = 100.00;

cout &lt;&lt; *pd2 &lt;&lt; endl;

delete pd2;

        delete pd1;

<b>const int * func; //是一個指向int型常量的指針,這個常量不可改變但指針可以改變</b>

<b>int *const func; //将func不可以自加。</b>

這裡指向常量的指針可以指向變量。

int a = 10; //變量

const int * ptr = &amp;a;//指向常量的指針可以指向變量。

a = 3;

但是

const int a = 10; //變量

//a = 3; 會報錯

<b>本文轉自 神迹難覓 51CTO部落格,原文連結:http://blog.51cto.com/ji123/1965921,如需轉載請自行聯系原作者</b>