在实际应用过程中,我们经常需要保存一系列的数据,有可能是一个值,点等,这时我们会用到vector。
如下所示:
vector<int>
vector<float>
与opencv结合使用时可能还会有:
vector<Point>,vector<vec4i>,vector<vector<Point>>等
有时候我们需要将vector作为一个函数的返回值。
使用方法如下所示:
我们将函数返回值设定为bool类型,vector作为函数的参数,添加引用,保存数据。
我们想表达的是如下意思:我们输入的数据为Image1,想返回Center向量,但是这样写会报不知名的错
vector<Point> ComputeCenter(Mat&image1,vector<Point>Center)
正确使用方式:
bool ComputeCenter(Mat&image1,vector<Point>&Center)
{
return true;
}
这里我们使用的是它的引用。
例子
//定义一个计算数字的函数,返回计算后的vector numbers
bool computeNumber(int num, vector<int>&numbers)
{
for (int i = 0; i < num; i++)
{
numbers.push_back(i + 10);
}
return true;
}
int main()
{
int num = 10;
vector <int> numbers;
computeNumber(10, numbers);//调用函数,调用之后,numbers就一直存在
//后面我们就可以直接引用
for (vector<int>::iterator it = numbers.begin(); it != numbers.end(); it++) {numbers
cout << *it << endl;
}
return 0;
}
//最后返回 10,11,....19