固定大小跨度的结构化绑定

Tom*_*ton 7 c++ structured-bindings c++20

在发现您可以符合人体工程学地将 s 转换 std::vector为固定大小的std::spans 后,我想我应该尝试以下结构化绑定std::vector

auto _ = std::vector{ 1,2,3 };
std::span<int, 3> a = std::span(_).first<3>();
auto [b,c,d] = a;
Run Code Online (Sandbox Code Playgroud)

但它不起作用https://godbolt.org/z/nhrYn65dW

然而,从P1024 std::span 的可用性增强看来这应该是合法的

添加对固定大小跨度的结构化绑定支持?一致同意

Nic*_*las 9

P1024的这一部分被P2116撤销。推理来自LWG 问题 3212,该问题详细说明了span需要const在类似元组的界面中进行交互的方式的问题。经过一番修改这个想法的尝试后,他们决定将其删除。