C++ 17 - 嵌套结构化绑定可能吗?

Tim*_*imo 27 c++ c++17 structured-bindings

假设我有一个类型的对象

std::map<std::string, std::tuple<int, float>> data;
Run Code Online (Sandbox Code Playgroud)

是否可以以嵌套的方式访问元素类型(例如,当在ranged for循环中使用时)

for (auto [str, [my_int, my_float]] : data) /* do something */
Run Code Online (Sandbox Code Playgroud)

bol*_*lov 20

不,这是不可能的.

我清楚地记得在某个地方读过C++ 17不允许嵌套的结构化绑定,但他们正在考虑在未来的标准中允许它.但是找不到来源.


Yak*_*ont 10

不,他们不可能; 但这是:

for (auto&& [key, value] : data) {
  auto&& [my_int, my_float] = value;
}
Run Code Online (Sandbox Code Playgroud)

这至少是接近的.