C++ 编程思想——常量

1、应该完全用const取代#define的值替代。
2、C++中的const默认为内部连接。  ( C默认const是外部连接的。如果在C++中想达到外部连接,必须用extern。 )
    就是说,const仅在const被定义过的文件里才是可见的,而在连接时不能被其它编译单元看见。
    否则由于众多的const在多个cpp文件内分配存储,容易引起连接错误。
3、常量指针:  const int * x;
    指针常量:  int * const x = &d;
    常量对象:  const int * const x = &d;    or    int const * const x = &d;    ( 指针和对象都不能改变 )
4、在类里建立常量,不能用const,要用enum。
    类里使用const的意思是“在这个对象寿命期内,这是一个常量”。然而,对这个常量来说,每个不同的对象可以含一个不同的值。(不是整个类范围)
    enum的值是在编译时决定。
5、构造函数初始化表达式
    它是构造函数特殊的初始化方法。初始化发生在构造函数任何代码执行前。这里是把所有的const初始化的地方。
    例:   class fred {
                const size;
           public:
                fred();
           }
           fred::fred():size(100){}
6、const对象和const成员函数
   const对象只能调用const成员函数。
   const成员函数不修改成员数据。但是mutable成员可被const函数修改。
   例 (const成员函数):
       class X{
           int i;
       public:
           int f()const;
       };
       
       int X::f()const{return i;}
7、volatile成员
   语法和const一样。区别是告诉编译器不要擅自作出有关数据的任何假定。

转载于:https://www.cnblogs.com/nliao/archive/2012/11/29/2795313.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值