不成功的调用会改变通过引用传递的结果吗?

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;
}

仍然改变ab,不管你是return false还是return true

因此,这是该函数的作者在编写该函数时决定的事情。我希望他们记录下他们所做的事情!