正在阅读:对C++中引用的补充说明(实例)对C++中引用的补充说明(实例)

2005-03-04 10:17 出处:PConline 作者:管宁 责任编辑:xietaoming

#include <iostream>   
#include <string>   
using namespace std; 
 
void main(int argc,charargv[])

    int a=10; 
    int b=20; 
    int &rn=a; 
    cout<<rn<<"|"<<a<<endl; 
    cout<<&rn<<"|"<<&a<<endl;//c++中是无法取得应用的内存地址的,取引用的地址就是取目标的地址! 
    rn=b;//把引用指向另一个目标----变量b 
    cout<<&rn<<"|"<<&a<<"|"<<&b<<endl; 
    rn=100;//试图改变b的值 
    cout<<a<<"|"<<b<<endl;//输出修改后的结果  
    cin.get(); 
}

  由于引用本身就是目标的一个别名,引用本身的地址是一个没有意义的值,所以在c++中是无法取得引用的内存地址的。取引用的地址就是取目标的地址,c++本身就根本不提供获取引用内存地址的方法。

  引用一单初始化,就不在能够被指向其它的目标,虽然编译不会出错,但操作是不起作用的,实际上还是指向最先指向的目标。

  上面代码中的rn=b实际在计算机看来就是a=b,所以修改的还是a的值。

#include <iostream>   
#include <string>   
using namespace std; 
 
void main(int argc,charargv[])     

    int a=10; 
    void &rn=a;// 错误的,void即无类型的类型 
    int a[100]; 
    int &ra[100]=a;//错误,不能声明引用数组 
    cin.get(); 
}

  上面的两错误要记住引用的特性,void修饰是不能够声明引用的,引用是不能够声明数组的,即不能够声明引用数组。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品