可能是嵌套结构化结合物



假设我有一个类型的对象

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

是否可以像这样

以嵌套方式访问元素类型(即,在范围内使用时使用元素类型(
for (auto [str, [my_int, my_float]] : data) /* do something */

不,这是不可能的。

我清楚地记得在某个地方阅读了C 17不允许嵌套结构化绑定的地方,但是他们正在考虑将其允许在未来的标准中进行。

找不到来源。

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

for (auto&& [key, value] : data) {
  auto&& [my_int, my_float] = value;
}

至少接近。

最新更新