c++中如何让函数返回一个存有数据的向量

2025-03-07 05:34:05
推荐回答(4个)
回答1:

C++中的标准模板库(STL, Standard Template Library)有三个主要组成部分:容器、迭代器、算法
而STL容器可以分为三类:顺序容器、关联容器、容器适配器
顺序容器又有三种预定义的容器:向量(Vector)、双端队列(Deque)、表(List)
向量:
访问向量中的元素。在数组中间或是开始处插入一个元素是费时的,特别是在数组非常大的时候更是如此。然而在数组末端插入元素却很快。实现向量容器的类名是vector(容器是类模板)。包含vector类的头文件名是vector。所以,如果要在程序里使用向量容器,就要在程序中包含下面语句:#include 此外,在定义向量类型对象时,必须指定该对象的类型,因为vector类是一个类模板。例如,语句:vector intList-----将intList声明为一个元素类型为int的向量容器对象。
类似地,语句:vector stringList-----将stringList声明为一个元素类型为string的向量容器对象。
声明向量对象: vector类包含了多个构造函数,其中包括默认构造函数。因此,可以通过多种方式来
明和初始化向量容器。表一描述了怎样声明和初始化指定类型的向量容器。

表一 各种声明和初始向量容器的方法:
语句-----作用
1). vector vecList; -----创建一个没有任何元素的空向量vecList(使用默认构造函数)
2). vector vecList(otherVecList)----创建一个向量vecList,并使用向量otherVecList中的元素初始化该向量。向量vecList与向量otherVecList的类型相同
3). vector vecList(size)----创建一个大小为size的向量vecList,并使用默认构造函数初始化该向量
4). vector vecList(n,elem)----创建一个大小为n的向量vecList,该向量中所有的n个元素都初始化为elem
5). vector vecList(begin,end)----创建一个向量vecList,并初始化该向量(begin,end)中的元素。即,从begin到end-1之间的所有元素

回答2:

向量指vector?

vector YourFunction() {
vector m_v;
...
return m_v; }
这样就返回数据数组

void YourFunction(vector &m_v) {
m_v = .....
}
这样对实参直接操作,也传回数据数组了

回答3:

#include
#include
using namespace std;
vector vec(){
vector v;
for(int i=0;i<100;i++) v.push_back(i);
return v;
}
int main(int argc,char *agv[] )
{
vector v=vec();
for(vector::iterator i=v.begin();i!=v.end();++i) cout<<*i<<" ";
return 0;
}
========
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 8
3 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
正常返回即可,vector本身就是一种指针。

回答4:

int XX(int a)
{
return a;
}
main(){
int c=xx(a);
}