不成功的调用会改变通过引用传递的结果吗?
Will unsuccessful call alter by-reference passed result?
不确定这个问题是纯 C++ 问题还是特定于库的问题。
我想知道,如果函数,return 成功代码并将其结果输出到传递的引用 alter output reference in case of failure?
使用的库是CGAL
using namespace PMP = CGAL::Polygon_mesh_processing;
Mesh out;
bool valid_union = PMP::corefine_and_compute_union(mesh1, mesh2, out);
从函数返回 true 或 false 值没有什么特别的;也就是说,无论您的函数 returns 成功还是失败都没有意义,无论它是否更改了参数:
bool do_something(int& a, int& b) {
a += ++b;
return false;
}
仍然改变a
和b
,不管你是return false
还是return true
。
因此,这是该函数的作者在编写该函数时决定的事情。我希望他们记录下他们所做的事情!
不确定这个问题是纯 C++ 问题还是特定于库的问题。 我想知道,如果函数,return 成功代码并将其结果输出到传递的引用 alter output reference in case of failure?
使用的库是CGAL
using namespace PMP = CGAL::Polygon_mesh_processing;
Mesh out;
bool valid_union = PMP::corefine_and_compute_union(mesh1, mesh2, out);
从函数返回 true 或 false 值没有什么特别的;也就是说,无论您的函数 returns 成功还是失败都没有意义,无论它是否更改了参数:
bool do_something(int& a, int& b) {
a += ++b;
return false;
}
仍然改变a
和b
,不管你是return false
还是return true
。
因此,这是该函数的作者在编写该函数时决定的事情。我希望他们记录下他们所做的事情!