zoukankan      html  css  js  c++  java
  • 我的c++学习(7)引用和复制构造函数

    一、引用

    什么是引用? 引用又称别名(alias),是一种非常特殊的数据类型。它不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名,也就是

    C++系统不为引用类型变量分配内存空间。引用主要用于函数之间的数据传递。

    引用定义的格式为:     类型 &引用变量名=已定义过的变量名;

    例如:     double number ;    

    double &newnum=number ;

    newnum是新定义的引用类型变量,它是变量number的别名,两个变量代表同一块内存。

    【例】使用一个函数交换两个数据。

    #include<iostream.h>
    void swap(double & d1,double & d2) //d1和d2是引用型变量
    {
           double temp ;
           temp=d1 ;
           d1=d2 ;
           d2=temp ;
    }
    
    void main(void)
    {
           double x , y ;
           cout<<"请输入x和y的值"<<'
    ';
           cin>>x>>y ;
           swap(x,y) ;
           cout<<"x="<<x<<'	'<<"y="<<y<<'
    ';
    }

    引用可以作为函数的返回值
    一般函数返回值时,要生成一个临时变量作为返回值的拷贝,而用引用作为返回值时,不生成值的拷贝。
    【例】采用不同返回方式的求正方形面积函数的比较。

    #include<iostream>
    using namespace std;
    double temp;
    double fsqr1(double a){
        temp=a*a ; return temp;
    }
    double & fsqr2(double a){
        temp=a*a ; return temp;
    }
    int main(){
        double x=fsqr1(5.5);//第一种情况
        double y=fsqr2(5.5);//第二种情况
        cout<<"x="<<x<<'	'<<"y="<<y<<endl;
        return 0;
    }

    几点注意:
    1.对数组只能引用数组元素,不能引用数组(数组名本身为地址)。
    2.不能定义引用的引用(引用也是地址),所以当函数的参数为引用时,引用不能作实参。

    二、复制构造函数

    ……

  • 相关阅读:
    Excel 函数
    selenium+python自动化测试(二)对浏览器的简单操作
    selenium+python自动化测试(一)环境
    py中mongodb使用
    ESQL调oracle存储过程
    boost.asio简单入坑
    浅析tcp中read阻塞
    14 天堂电影信息爬取
    13 爬取豆瓣电影网电影信息
    12 lxml&XPath结合使用(提取数据详解)
  • 原文地址:https://www.cnblogs.com/yangwujun/p/3311960.html
Copyright © 2011-2022 走看看