首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个线性元组/对在c++中解压缩,多次重复使用相同的变量

一个线性元组/对在c++中解压缩,多次重复使用相同的变量
EN

Stack Overflow用户
提问于 2022-10-13 14:04:30
回答 1查看 150关注 0票数 7

我已经看过Is there a one-liner to unpack tuple/pair into references?,并且知道在一行中元组/对的解包值是如何实现的,如下所示

代码语言:javascript
复制
auto [validity, table] = isFieldPresentAndSet(r, "is_federated");

这里,isFieldPresentAndSet返回一个元组。

现在,我想在isFieldPresentAndSet的多个连续调用中重用这两个变量,如下所示

代码语言:javascript
复制
auto [validity, table] = isFieldPresentAndSet(r, "is_federated");
auto [validity, table] = isFieldPresentAndSet(r, "gslb_sp_enabled");

然后检查validitytable的值。但是这给了我编译错误,因为我正在第二次重新定义validitytable变量。如果将第二行更改为

代码语言:javascript
复制
[validity, table] = isFieldPresentAndSet(r, "gslb_sp_enabled"); 

代码语言:javascript
复制
validity, table = isFieldPresentAndSet(r, "gslb_sp_enabled"); 

它仍然给我编译错误。

有什么办法吗??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-13 14:09:41

您可以使用std::tie。它返回引用的元组,从而使分配成为可能:

代码语言:javascript
复制
std::tie(validity, table) = isFieldPresentAndSet(r, "gslb_sp_enabled");
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74057119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档