设为首页 加入收藏

TOP

挑战30天C++入门极限:对C++中引用的补充说明(实例)
2014-11-16 21:00:25 】 浏览:197
Tags:挑战 入门 极限 引用 补充 说明 实例

#include <iostream>
#include <string>
using namespace std;

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


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

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

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


#include <iostream>
#include <string>
using namespace std;

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


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


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇挑战30天C++入门极限:C/C++中命.. 下一篇挑战30天C++入门极限:C/C++中的..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目