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

  • 相关阅读:
    如何将SLIC集成到ESXi中
    System Board Replacement Notice
    分发器上的会话代理进程控制脚本使用说明
    lib和dll的区别与使用
    vs2017自动生成的#include“stdafx.h”详解及解决方案
    禅定是否一定要打坐,为什么?
    PE文件解析 基础篇
    灵修书籍
    HDU 2546 饭卡(01背包裸题)
    codeforces 767A Snacktower(模拟)
  • 原文地址:https://www.cnblogs.com/beipiaoboy/p/3270597.html
Copyright © 2011-2022 走看看