不确定这个问题是纯C++还是库特定的。我想知道,如果函数返回成功代码并将结果输出到传递的引用,在失败的情况下会改变输出引用?
使用的库是CGAL
using namespace PMP = CGAL::Polygon_mesh_processing;
Mesh out;
bool valid_union = PMP::corefine_and_compute_union(mesh1, mesh2, out);
从函数返回true或false值没有什么特别之处;即,您的函数是否返回成功或失败并不意味着它是否更改了参数:
bool do_something(int& a, int& b) {
a += ++b;
return false;
}
无论您是return false
还是return true
,仍然会更改a
和b
。
因此,这是该函数的作者在编写该函数时决定的事情。我希望他们记录下他们的所作所为!