什么是值传递,引用传递?
值传递:是指在调用函数接口时将实际参数复制一份到函数中,在函数接口的操作中如果对参数进行修改,将不会影响到实际参数的值。 引用传递:是指在调用函数接口时将实际参数的地址直接传递到函数中,如果在函数接口中对参数进行了修改,将影响实际参数的值。
那么使用的时候利用这两个不同的特性去创建函数接口,能节约不少的内存空间和时间。
void testOne(int a,int b)
{
a=0;
b=0;
}
void testTwo(int &a,int &b)
{
a=0;
b=0;
}
int main()
{
int a=1;
int b=2;
testOne(a,b);
cout<<a<<b<<endl;
testTwo(a,b);
cout<<a<<b<<endl;
return 0 ;
}
函数接口返回值使用值传递还是引用传递
如果使用值传递的话,需要两次的拷贝,第一次是value 值 赋值到 int ,然后将int值赋值到valueOne。而如果使用引用的话,只需要一次拷贝。大大节约了内存空间和时间。
int getValueOne()
{
int value = 10;
return value;
}
int& getValueTwo()
{
int value = 10;
return value;
}
int main()
{
int valueOne = getValueOne();
int valueTwo = getValueTwo();
}
以前习惯值传递,现在做项目尽量使用引用。
|