首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个很基础的有关问题,待解决!

2012-06-15 
一个很基础的问题,待解决!!下面说法对不对?高手给分析下吧一般情况下,C/C++是不能返回数组的。但你可以返回

一个很基础的问题,待解决!!
下面说法对不对?高手给分析下吧
一般情况下,C/C++是不能返回数组的。但你可以返回一个值向数组的指针。
不过就这首道来看的话,你以一个传入的是一个int*型的指针(C/C++的机制,一个数组作为参数传入的话,会自动降为指针),那么你对ary这个数组进行的操作,其实就是在对原数组进行的操作,根本不用任何返回值就可以达到你修改数组的目的啊!

[解决办法]
没错呢
[解决办法]
是可以啊
[解决办法]
为什么要返回数组呢?应该返回一个状态
在参数里传数组,然后在函数里修改数组成员
[解决办法]

探讨

引用:
为什么要返回数组呢?应该返回一个状态
在参数里传数组,然后在函数里修改数组成员
那要是这个数组是在函数内部定义的,那我还用返回吗?

[解决办法]
根据变量来定义数组就用new, 比如int a = 10; int *pa = new int[a];
根据常量或者数值来定义数组的话 不用new, 用数组就可以了。 比如 int const a = 10;
int b[a]; 如果是new出来的内存, 要用delete释放内存, 和new []对应的是 delete []
[解决办法]
1, 可以。
2, 是的, 其实对可读性没有影响, 是容易忘记delete, 所以有智能指针可以包装一下

热点排行
Bad Request.