我提的问题有没有,好的技巧完成的,困扰了我很长时间,高手帮帮忙了

wanbin2131 2007-07-24 08:29:30
1 如果想返回一个数组及其中的值的话,有不用引用,不用动态地址分配的方法返回吗?
2
在一个函数中有一个数组假设是int a[10]={0,5,7,8,3,4,14}
从中选择比4大的数重新定义一个是数组进行存贮并返回数组B[]。数组的大小应该怎么定义。是和原来数组一样大?还是有其他方法尽量少开辟空间。在没有一个一个筛选的时候是不知道B[]的大小的,怎么确定他的大小?

希望那位朋友帮解答下,最好有个实例
...全文
145 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanbin2131 2007-07-24
  • 打赏
  • 举报
回复
写错了
如果是引用的话声明应该是 void f(int & bNumb)
wanbin2131 2007-07-24
  • 打赏
  • 举报
回复
那楼上的大哥说要返回数组bNumber的内容,就的用指针和引用吧!
是不是这样函数声明int *f(int * bNumber)或者是int *f (int & bNumber)
我想如果函数声明是这样应该怎么写int *f()
dsniff 2007-07-24
  • 打赏
  • 举报
回复
函数的输入有bNumber就可以了
vector的空间是动态增加的,并不是在原空间之后接续新空间(因无法保证原空间之后还有可分配的空间),而是以原大小两倍另外分配一块较大空间,然后将原内容copy过来,并释放原空间
wanbin2131 2007-07-24
  • 打赏
  • 举报
回复
请问下楼上写的main函数如果改为函数申明double * f()
数组bNumber的内容能返回去吗?我不知道vector是怎么分配的,是动态分配还是怎么的?
dsniff 2007-07-24
  • 打赏
  • 举报
回复
Vector是很好用的东西,也是标准库中提供的,尽量用它吧
dsniff 2007-07-24
  • 打赏
  • 举报
回复
#include <string>
#include <vector>
using namespace std;
int main()
{
int i;
vector<int> number,bNumber;
while(cin>>i)
number.push_back(i);//添加到vector中
for(vector<int>::size_type ix=0;ix!=number.size();++ix){
if(number[ix]<4)
bNumber.push_back[number[ix]];
}
}
wanbin2131 2007-07-24
  • 打赏
  • 举报
回复
能不能不用vector那?就是用c代码写出来的
有没有实例呀?
cunsh 2007-07-24
  • 打赏
  • 举报
回复
vector

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧