1、const必须在定义时初始化;
2、由const定义的全局变量,仅在该file内可被访问;
3、由extern const定义的全局变量在另一个file内别访问,(定义和访问的顺序无所谓);
4、variable,不需extren修饰,默认可在另一个文件中访问;
示例一,定义和修改:
#include<iostream>
using namespace std;
int main() {
system("chcp 65001");
cout<<"const 修饰的变量必须赋初值,如下:"<<endl;
const int i=1;
cout<<i<<endl;
cout<<"const 修饰的变量不可被修改,i_1++是错误的"<<endl;
int cnt = 0;
const int i_1 = cnt;
cnt++;
cout<<i_1<<endl;
return 0;
}
示例二,外部file访问:
ConstantExample.cpp
#include<iostream>
using namespace std;
extern const int j;
int i=2040;
class ConstExample
{
public:
int getJ(){
return j;
}
};
ConstExample2.cpp
#include<iostream>
#include"ConstantExample.cpp"
using namespace std;
extern const int j=2030;
class ConstExmple2{
public:
void outputJ(){
cout<<j<<endl;
}
};
int main(){
system("chcp 65001");
cout<<"使用ConstantExample.cpp中定义的外部变量extern"<<endl;
ConstExample ex1;
cout<<ex1.getJ()<<endl;
ConstExmple2 ex2;
ex2.outputJ();
cout<<"非const全局变量,不需extern修饰,即可全局访问"<<endl;
cout << i<<endl;
return 0;
}