码迷,mamicode.com
首页 > 其他好文 > 详细

const ,static,online

时间:2014-08-15 12:23:48      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   io   文件   数据   ar   

 const:

  1 定义变量 ,如下写法都可以:

                  TYPE const ValueName = value;
                 const TYPE ValueName = value;

  2 当作为全局变量并且在他文件也想使用时:(默认const具有局部性)

           1.CPP  :extern const TYPE ValueName = value;定义

           2.CPP:  extern const  TYPE ValueName; 外部声明

    上面两个const 和TYPE可以颠倒。

  3 指针使用const

         如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
         如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。

   4 函数参数中返回值中用const

   5 类与const:
    class A
    {
        …
        const int nValue;        //成员常量不能被修改
        …
        A(int x): nValue(x) { } ; //只能在初始化列表中赋值

        void function()const; //常成员函数, 它不改变对象的成员变量.                       

                                      //也不能调用类中任何非const成员函数。


     }

       1)修饰成员变量:表示成员常量,不能被修改,同时它只能在初始化列表中赋值。

       2)const成员函数不被允许修改它所在对象的任何一个数据成员,函数中可以使用非const成员变量,但不能修改。 不能调用类中任何非const成员函数。(因为任何非const成员函数会有修改成员变量的企图。const成员函数声明和定义const都不能少

       3)const类对象、指针、引用:只能调用类的const成员函数,可以使用成员变量,但不能改变值。因此,const修饰成员函数的最重要作用就是限制对于const对象的使用。

 

class A
{ 
public:    
   const int nValue;        //成员常量不能被修改
   int m_a;
    
   A(int x,int a): nValue(x) { m_a=a;} ; //只能在初始化列表中赋值
    
   void func()const; //常成员函数, 它不改变对象的成员变量.                       
    
    //也不能调用类中任何非const成员函数。    
}; 

void A::func() const
{
    cout<<m_a<<endl;
    cout<<nValue<<endl;
}
int main()
{
    const A aa(1,2);
    cout<<aa.m_a<<endl;
    aa.func();
    return 0;
}

static:

 

 

      

 

const ,static,online,布布扣,bubuko.com

const ,static,online

标签:style   blog   color   使用   io   文件   数据   ar   

原文地址:http://www.cnblogs.com/Yogurshine/p/3914400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!