std::span 中 std::dynamic_extent 的用途是什么

问题描述 投票:0回答:1

我知道 std::span 是静态的。它只是一堆向量/数组等的视图。 我看到 span 的 constructor ,似乎在 4-6 中使用了 std::dynamic_extent 。但在这些构造函数中,还存在所需的大小模板 - std::size_ N。对我来说,这意味着 size/count/len 在编译时已知。那么为什么 std::dynamic_extent 呢?

c++ std
1个回答
0
投票

的定义是

std::dynamic_extent

inline constexpr std::size_t dynamic_extent 
    = std::numeric_limits<std::size_t>::max();

它只是

std::size_t
的一个值,用于指示
std::span
具有动态范围。
std::span
的“大小”仍然是在编译时指定的,只是当“大小”取特殊值时,它被视为动态范围。

© www.soinside.com 2019 - 2024. All rights reserved.