C++值传递和引用传递.地址传递

•引用是另外一个变量的别名
•引用的声明

    int iVal;

    int & iRef = iVal;

•引用必须初始化,且必须用变量初始化。
–不能写:int& a = 10
–可以写成const int& a = 10;//常量引用
•不可能有空引用,必须确保引用和一块合法的存储单元关联
•当一个引用被初始化为指向一个对象,它就不能改变为指向另一个对象
•引用是用指针来实现的


//
//  main.cpp
//  Basic
//
//  Created by 06 on 15/1/9.
//  Copyright (c) 2015年 黄永锐. All rights reserved.
//

#include <iostream>
using namespace std;


//引用传递
void fa(int &r){
    r++;
    //shuchu dizi
    cout << "&r = " << &r << endl;
}

//地址传递
void fb(int* p){
    (*p)++;
    cout << "p  = " << p << endl;//指向的地址
    cout << "&p = " << &p << endl;//指针的地址  在栈里面
    
    
}

//值传递
void fc(int i){
    i++;
    cout << "&i = " << &i << endl;
}



int main(int argc, const char * argv[])
{

    //
    int x = 100;
    cout << "&x = " << &x << endl;
    fa(x);
    cout << x << endl;
    cout << "-------------" << endl;
    
    fb(&x);
    cout << x << endl;
    
    cout << "-------------" << endl;
    
    fc(x);
    cout << x << endl;
    
    
    return 0;
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值