引用
定义的时候必须初始化为指向一个对象。
int ival = 1024;
int &ref_value = ival;
int &ref_value2; //error, a reference must be initialized
int &ref_value3 = 10; //error: initializer must be an object
指向引用的指针:
int *&ptrVal = &ival;
例子:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){ int ival = 1024; int &ref_val = ival;
int *p_ref = &ival;
cout << ref_val + 1 <<endl; cout << *p_ref + 5<<endl; return 0;}
引用是别名
因为引用只是它绑定的对象的另一个名字,作用在引用上的所有操作事实上都是作用在该引用绑定的对象上:
ref_value += 2;