c++ 中定义常量的两种方法

c++中定义常量有两种方法:

1.使用#define预处理器

#define SCREEN_HEIGHT 640

2.使用const关键字

const int SCREEN_WIDTH 960;

所谓常量,即在程序执行期间不会改变的变量,常量可以是任意类型的变量,只不过在定义之后值不可修改,下面测试一下常量在程序中的应用。

正常情况:

#include <iostream>
using namespace std;
#define MY_TEST 10
int main(){
    const int HEIGHT = 10;
    cout <<"testConst====="<< HEIGHT<<"\n";
    cout <<"testDefine====="<< MY_TEST<<"\n";
    return 0;
}

测试结果:

testConst=====10
testDefine=====10

 

异常情况:

#include <iostream>
using namespace std;
#define MY_TEST 10
int main(){
    const int HEIGHT = 10;
    MY_TEST = 20;
    cout <<"testConst====="<< HEIGHT<<"\n";
    cout <<"testDefine====="<< MY_TEST<<"\n";
    return 0;
}

测试结果:

test.cpp:6:13: error: expression is not assignable(表达式不匹配)
    MY_TEST = 20;
    ~~~~~~~ ^
1 error generated.
看被标注为红色的代码,试图改变常量的值,编译时直接报错,const定义的常量情况也是一样会报错,

测试代码:

#include <iostream>
using namespace std;
#define MY_TEST 10
int main(){
    const int HEIGHT = 10;
//    MY_TEST = 20;
    HEIGHT = 22;
    cout <<"testConst====="<< HEIGHT<<"\n";
    cout <<"testDefine====="<< MY_TEST<<"\n";
    return 0;
}
 

测试结果:

test.cpp:5:15: note: variable 'HEIGHT' declared const here(HEIGHT被标记为const类型)
    const int HEIGHT = 10;
    ~~~~~~~~~~^~~~~~~~~~~
2 errors generated.

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值