我已经看到了是否有一个单行代码可以将元组/对解压到引用中?并且知道如何将元组/对中的值解压到一行中,如下所示
auto [validity, table] = isFieldPresentAndSet(r, "is_federated");
这里
isFieldPresentAndSet
返回一个元组。
现在我想在多次连续调用
isFieldPresentAndSet
中重用这两个变量,如下所示
auto [validity, table] = isFieldPresentAndSet(r, "is_federated");
auto [validity, table] = isFieldPresentAndSet(r, "gslb_sp_enabled");
然后检查
validity
和 table
的值。但这给了我编译错误,因为我第二次重新定义 validity
和 table
变量。如果将第二行更改为
[validity, table] = isFieldPresentAndSet(r, "gslb_sp_enabled");
或
validity, table = isFieldPresentAndSet(r, "gslb_sp_enabled");
它仍然给我编译错误。
有什么办法可以做到这一点吗?
std::tie
。它返回一个引用元组,这使得赋值成为可能:
std::tie(validity, table) = isFieldPresentAndSet(r, "gslb_sp_enabled");