C++ ——vector作為函式返回值用法
阿新 • • 發佈:2019-01-07
在實際應用過程中,我們經常需要儲存一系列的資料,有可能是一個值,點等,這時我們會用到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