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

参考:
https://www.cnblogs.com/pengjun-shanghai/p/4913409.html

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页