c / c++ const 用法小结

来源:互联网 发布:有声阅读软件哪个好 编辑:程序博客网 时间:2024/04/29 05:36

1、const在修饰变量时的规律

           规则a、 const 修饰它左边的第一个类型描述符。也就是修饰声明中被此类型描述符定义的变量。

           规则b、倘若const 左边没有类型修饰符,修饰它右边的第一个类型描述符

 

          举例:

          int const A;    //分析:const 左边的第一个类型描述符为int ,const 修饰 int ,也就是修饰 被这个 int    限定了类型的 A 变量

         int *const A   // 分析:const 左边的第一个类型描述符为*(可视其为指针) ,const 修饰 指针,也就是修饰被这个指针限定了类型的 A 变量。A指针为const类型

          int const *A  // 分析:const 左边的第一个类型描述符为int  ,const 修饰 int 类型,而这里的int 变量并未显式给出,需要通过指针A访问,也就是指针A指向的值为const类型

         const int& VarAlias = var ;  // 分析:const 左边没有类型描述符,所以修饰右边的第一个类型描述符 int& 。int& 用于限定 VarAlias,也就是说 VarAlias本身是 一个const 类型的引用

 

2、const在函数中的应用

           a、用于限定返回值

                例如

                Const MyClass Demo_1();  // MyClass 为自定义类

                建议只在返回自定义类型时使用const,倘若在返回内置类型时使用,并无多大价值,只会引起困惑

 

         b、用于限定入口参数

              例如

              void Demo_2 (const int Var); 表明入口参数 var 在函数内不会被修改。

              建议将const对外部调用者屏蔽,改写为

             void Func(  int Var)

             {

              const int &VarAlias=Var;

              ……………………

              ……………………

             }

            可避免调用者的困惑

 

        c、限定类的函数           

              Class ClassName
             {

                   Public:

                       Int Demo_3() const;

             };

            此函数无法修改类内成员的值,倘若试图修改,编译器会报错。

       

          

---------------------   The End  --------------------------

     

          

 

 

 

0 0
原创粉丝点击