+ -
当前位置:首页 → 问答吧 → c和c++

c和c++

时间:2010-08-23

来源:互联网

C++数组参数传递
实现
传递后 数组内容传入函数参数,而函数参数和原函数中的实参是不同的首地址
代码:
#include<iostream>
using namespace std;

void func(int a[])
{
   for(int i=0; i<4; i++)
      a[i]++;
}

int main()
{
   int a[4]={2, 3, 4, 5};
   func(a);
   for(int i=0; i<4; i++)
      cout<<a[i]<<endl;
   return 0;
}
比如这种写法传入了首地址,变了func()函数中的数组内容,原数组也被改变了
能不能实现相当于变量的值传递的方式,只传入内容,而不是地址
谢谢

作者: rob2468   发布时间: 2010-08-23

func中new一个数组

作者: Varrily   发布时间: 2010-08-23

这种情况应该用const限定参数不可修改

作者: Strange   发布时间: 2010-08-23

你传进去不修改不就得了

作者: fanhe   发布时间: 2010-08-24

要不你就复制一份数组,然后把副本数组传进去,你是想要这样吧

作者: fanhe   发布时间: 2010-08-24