在进行错误处理并仍然返回值的常用方法是使用元组。
我想知道当异常不适用时,在 C++ 中使用 std::tie 做同样的事情是否是个好主意。
喜欢
std::tie(errorcode, data) = loadData();
if(errorcode)
...//error handling
这样做有什么缺点(性能或其他)?我想通过返回值优化它并没有真正产生影响,但也许我错了。
我可以看到的一个潜在问题案例是在交叉编译器 API 中的使用,但这并不特定于这种使用。
我目前的做法是
errorcode = loadData(&data);
if(errorcode)
...//error handling
但这允许传入数据值。
错误代码本身是已经定义的,我无法更改。
编辑:我正在使用/必须使用 C++11