c++ - cppreference 中的哪一部分告诉我结构化绑定(bind)声明仅适用于编译时已知对象?

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

我的问题是

structured binding declarations 上 cppreference.com 页面的哪一部分?应该表明它们不能与编译时未知的“事物”一起使用吗?

该页面不包含任何对编译或运行时的明确引用。

为什么?

我最近遇到了 this question关于结构化绑定(bind)声明是否适用于 std::vector,因为它的大小在编译时未知。因为我想了解如何 Boost.Hana works,我需要弄清楚运行时和编译时之间的详细区别是什么,所以我借此机会问了上面的问题。

最佳答案

相关部分是 std::tuple_size,它产生编译时大小。您不能为 std::vector 实现它。它有一个运行时变量 std::vector::size

关于c++ - cppreference 中的哪一部分告诉我结构化绑定(bind)声明仅适用于编译时已知对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63464158/

相关文章:

c++ - 缺少 MSVCP100D.dll (OpenCV) Visual Studio 2013

c++ - 为什么 std::apply 可以调用 lambda 而不是等效的模板函数?

c++ - 为什么忽略 std::optional 的强制转换运算符?

c++ - 为什么 'typeid(x) == typeid(y)'评估为true,而 'x'和 'y'分别是类型T和T&的id表达式?

c++ - [temp.spec]/6 的起源故事?

c++ - ptrdiff_t 太小?

c++ - mingw-w64 和 SDL2 链接问题

C++错误,没有匹配的函数

c++ - 物化纯右值成员访问的 decltype 行为不正确

css - 表格单元格的内容可以垂直溢出吗?