c++ - 嵌套结构化绑定(bind)可能吗?

标签 c++ c++17 structured-bindings

假设我有一个类型的对象

std::map<std::string, std::tuple<int, float>> data;

是否可以像这样以嵌套方式(即在范围 for 循环中使用时)访问元素类型
for (auto [str, [my_int, my_float]] : data) /* do something */

最佳答案

不,这是不可能的。

我清楚地记得在某处读到 C++17 不允许嵌套结构化绑定(bind),但他们正在考虑在 future 的标准中允许它。虽然找不到来源。

关于c++ - 嵌套结构化绑定(bind)可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58739024/

相关文章:

c++ - 模板中的数组和指针

c++ - 在 std::any 的 std::vector 中找到一个元素

c++ - 复制省略是否适用于结构化绑定(bind)

c++ - 为什么绑定(bind)到引用类型时 "const auto [x, y]"的行为不符合预期?

c++ - 为什么即使链接器可以找到库,我也会收到 "DSO missing"错误?

c++ - 在多个数据 block 中搜索多个单词

c++ - 使用 std::floor 的明显不一致

c++ - 需要模板的特定特化作为模板参数

c++ - 在基对象上调用来自 C++ 类的重载、派生函数不会调用重载函数

c++ - 结构化绑定(bind)和基于范围的;在 gcc 中抑制未使用的警告