const 的常用方法

来源:互联网 发布:微信三级分销系统 源码 编辑:程序博客网 时间:2024/06/06 01:29

   class student{

        public: string name;

    }

    在c++代码中,指向对象的常指针,指向常对象的指针和常引用都是出现频率比较高。刚学习C++不久,通过阅读网上资料和教材,得出下面的一些总结:

1:指向对象的常指针,表示指针永远都是指向同一个对象,不能改变成指向别的对象

   a:基本形式:student * const p = &stu;

      如果我们使用如  p = &stu1 将是错误的,因为指向对象的常指针一旦被初始化,就不能再修改成指向别的对象了


2:指向常对象的指针,表示不能通过指针改变对象的值

   a:基本形式:const student * p = &stu; 

     不能在后面的语句中使用类似  (*p).name = "Monkey" 的语句企图改变stu的值

   b:在函数调用中,如果实参是指向常对象的指针,那么形参也必须是指向常对象的指针,这样就不能在调用函数的过程中该变实参的值;如果形参是指向常对象的指针,则实参可以是指向常对象的指针,也可以不是。

   c:如果对象已经被声明为常对象,则指向这个对象的指针也必须是指向常对象的指针,如

      const student stu;    //常对象

      const student * p = &stu; //指向常对象的指针

3:常引用

   a:如果常对象的引用也必须是常引用,如

      const int &a = 2;   //2是常量,所有前面的const是不能省略的

      const student stu;

      const student &s = stu;  //常对象的引用页必须是常引用

   b:时常被使用在实参和形参的传递中,如果我们不希望在函数调用的过程中修改实参的值,可以使用常引用作为形参


     

0 0