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/makesunny/archive/2012/11/29/2795313.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ 编程思想——常量

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/70980

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午2:35
下一篇 2023年2月9日 下午2:35

相关推荐