c++对象作为参数的问题
发布网友
发布时间:2022-05-14 18:03
我来回答
共2个回答
热心网友
时间:2023-10-19 02:01
&a那个是引用参数,不带&的是形式参数
形式参数的值改变不影响原值,引用参数的值改变要影响原值,举个例子
程序1:
void fun(int &a)
{a=a+1;}
main()
{
int b=3;
fun(b);
cout<<b;
}结果是4
程序2
void fun(int a)
{a=a+1;}
main()
{
int b=3;
fun(b);
cout<<b;
}结果仍为3,
对象也可以引用,例子中void fun (int &a)的int可以是其他类型的,如double、float,也可以是类的名称,如你说的那个Array类,或结构体struct等
热心网友
时间:2023-10-19 02:02
简单点说,对于fun(m) ,如果是上面的函数原型,则m和a就是同一个变量,只是名字不同;如果是下面一种情况,那么m是m,a是a,只是在调用时将m的值传给a了,但m的值不受a影响。
是的,对象也是能用的,比如复制构造函数就是引用对象的。