使用一对作为另一个函数的参数

Use a pair as a parameter from another function

本文关键字:另一个 函数 参数      更新时间:2023-10-16

我有一个函数,它返回一个std::pair<int, double>

我想创建另一个函数来使用上一个函数中的对,并查看对中的数据,即第一个和第二个。是否可以将上一个函数的返回值作为新函数的参数传递,以便第二个函数可以查看数据?我不确定C++中的语法。

void func2( const std::pair <int, double>& data )
{
}
std::pair <int, double> func1 ( /* ... * / )
{
   //return pair
}

然后呼叫

 func2 ( fun1( /*... */ ) );

我想你的意思是上面的例子:

#include <utility>
std::pair<int, double> create() {
    return std::make_pair(4, 2.);
}
void accept(std::pair<int, double> p) { }
int main() {
    accept(create());
}

答案是肯定的,你可以做到。

如果您不想向accept传递该对的副本,而是想提交您在main函数中使用的确切实例,您可以稍微修改函数原型,如下所示:

#include <utility>
std::pair<int, double> create() {
    return std::make_pair(4, 2.);
}
void accept(std::pair<int, double>& p) { }
int main() {
    auto p = create();
    accept(p);
}

等等…