1. 程式人生 > >C++ ——vector作為函式返回值用法

C++ ——vector作為函式返回值用法

在實際應用過程中,我們經常需要儲存一系列的資料,有可能是一個值,點等,這時我們會用到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