第五章 C++/C常量===高质量程序设计C++/C语言 林锐

符号常量:

                1.用#define定义的宏常量  进入编译阶段前就被替换成多代表的字面常量,所以本质是字面常量

                 2.用const定义的常量

                 C语言中,const定义的是不能让你个修改的量,会给它分配存储空间(外链接)

                  C++中,基本数据类型的常量,编译器放在符号表中,不分配存储空间,ADT/UDT的const对象则需要分配存储空间。默认内链接

                  特殊情况:强制声明为extern的符号常量或取符号常量的地址也会分配存储空间以满足用户的需求。

好玩的代码

  1 #include<iostream>
  2 using namespace std;
  3 class A{
  4
  5 public:
  6        A():n(100){}
  7        int n;
  8         };
  9 int main()
 10 {
 11       const int a=1;
 12       cout<<a<<endl;
 13       int* p=(int*)&a;//取常量的地址
 14       *p=2;// 迂回修改
 15       cout<<*p<<endl;//2,修改的是拷贝内容
 16       cout<<a<<endl;//1,原始常量没有变化
 17

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值