C++的pointer问题?

[复制链接]
查看11 | 回复3 | 2009-3-4 01:11:53 | 显示全部楼层 |阅读模式
int a (int *x){}
int b (int &x){}
这两个函数分别接受什么样的参数,为什么?

回复

使用道具 举报

千问 | 2009-3-4 01:11:53 | 显示全部楼层
第一个是接收int类型的指针(传址),第二个接收int类型数据(传值)。引用,相等于给变量起“别名”,使用过程是对原数据的使用。如:#include void fun(int & x){ x = x + 1; //这里x就是a,x只是a的“外号”}void main(){ int a=10; fun(a);//传值 cout<< a <<endl;}指针,是存储变量的地址。#include void fun(int *x){ *x = *x + 1;//取地址里的数据运算}void ...
回复

使用道具 举报

千问 | 2009-3-4 01:11:53 | 显示全部楼层
指针与引用的区别。第一个是指针,第二个是引用。你举的这个例子实际上没有太大的区别,只是写法上有点不同,达到的效果是一样的。要想弄明白指针与引用的区别,google 一下:指针与引用的区别...
回复

使用道具 举报

千问 | 2009-3-4 01:11:53 | 显示全部楼层
第一个是指针,接收指针类型的实参,第二个是引用,接收整型实参...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行