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

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

希望那位朋友帮解答下,最好有个实例
...全文
120 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2007-07-24 08:29
社区公告
暂无公告