•引用是另外一个变量的别名
•引用的声明
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;
}