C++ Const

本文通过两个示例展示了C++中const关键字的使用规则,包括const变量必须在定义时初始化,const全局变量的文件作用域以及extern如何用于跨文件访问const变量。同时,文章指出非const全局变量默认可在其他文件中访问。
摘要由CSDN通过智能技术生成

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值