// ATest_cpp : Defines the entry point for the console application.
//参数传递问题
using namespace std;
void fun(int a,int*b,int &c,int* &d)
{
a++;
(*b)++;
b = new int(10);
cout<<"aaaa "<<b<<endl;//地址
cout<<"bbbb "<<*b<<endl;//5
c++;
d++;
d = new int(5);
cout<<"dddd "<<d<<endl;//地址
cout<<"dddd2 "<<*d<<endl;//5
}
int main(int argc, char* argv[])
{
int a=2,b=3,c=4,d=5;
int* p = &d;
fun(a,&b,c,p);
cout<<a<<endl;//2 值传递
cout<<b<<endl;//4 指针传递
cout<<c<<endl;//5 引用传递
cout<<d<<endl;//5 引用传递 指向指针的引用
cout<<*p<<endl;//10 引用传递 int(5)为整型初始化
// printf("Hello World!\n");
return 0;
原帖由 cazy9077 于 2008-10-23 12:20 发表 分清楚 b = new int(10); 和 d = new int(5); 的区别 前者是在函数中试图改变实参 后者在函数中用引用的方式改变实参
欢迎光临 应届生求职招聘论坛 (https://bbs.yingjiesheng.com/) | Powered by Discuz! X3.2 |