zoukankan      html  css  js  c++  java
  • 常量引用

     #include <iostream>
    
     void disp(const int &a)
    
    {
    
          cout<<a<<endl;
    
    }
    
    void main()
    
    {
    
       int x=1;
    
      disp(x);
    
    }

        讲函数的形参定义为常量引用的好处:

         1、引用不产生新的变量,减少形参和实参之间转换时的开销。

         2、由于引用可能导致实参随形参的改变而改变,将其定义为常量引用后可以消除这种现象。

      int const &p=x;

      p++ ;是错的 x++对的

     常量引用只能读取,不能修改。

         

     #include <iostream>

     void disp(const int &a)

    {

          cout<<a<<endl;

    }

    void main()

    {

       int x=1;

      disp(x);

    }

       总结:如果要求实参随形参的改变而改变,则用一般的引用,如果实参随形参的改变而改变则使用常量引用,类的复制函数正是利用了这一点实现对象之间的复制。

      main()

    {

        int x=10;

        int *p;

       p=&x;        把x的地址赋值给指针p,使p指向x

       printf("%d",*p);  、、10

    }

     分析:可以看出通过指针访问它所指向的变量。

      const定义指针常量(禁止改写指针)

      类型名* const 指针名=&变量名     int *p=&x;

      作用:定义一个指针常量p,使p指向x,我们不能修改指针p使它指向其他指针。

    但x的值可以改变

     *p=*p+5;

      禁止改写指针所指向的变量:

           int x,y;

           const int *p;

           p=&a;p=&y;

       作用:定义一个指针变量p,p可以随便指,但是所指向的变量的值不能随便更改。

     void main()

    {

        int x=1;y=2;

        const int *p=&x;

        *p=*p+5; 错

       x=x+5;

       p+&y;  

    }

        3、禁止改写指针和它所指向的变量:

        const 类型名 *const 指针名=&变量名

         int x,y;

         const int *const p=&x;

    http://wenku.baidu.com/view/3f510d3887c24028915fc3d2.html

  • 相关阅读:
    subprocess模块
    面向对象进阶
    python---面向对象学习
    vim命令---存阅
    python基础-软件目录开发规范
    装饰器、迭代器、生成器
    Python基础类型
    使用Git来撤销修改
    使用Git去管理修改
    了解Git的工作区和暂存区
  • 原文地址:https://www.cnblogs.com/beipiaoboy/p/3270597.html
Copyright © 2011-2022 走看看