std::ranges::take_view<V>::size
来自 cppreference.cn
constexpr auto size() requires ranges::sized_range<V>; |
(1) | (C++20 起) |
constexpr auto size() const requires ranges::sized_range<const V>; |
(2) | (C++20 起) |
返回元素数量,其值为传递给构造函数的计数与底层视图大小中的较小值。
设 base_
为底层视图,count_
为底层计数器(如果默认构造则等于 0)。等价于
auto n = ranges::size(base_); return ranges::min(n, static_cast<decltype(n)>(count_));
目录 |
[edit] 参数
(无)
[edit] 返回值
元素数量。
[edit] 示例
运行此代码
#include <iostream> #include <ranges> int main() { constexpr int arr[]{1, 2, 3}; for (int i = 0; i != 6; ++i) { const auto tv = std::ranges::take_view{arr, i}; std::cout << tv.size() << ' '; } std::cout << '\n'; }
输出
0 1 2 3 3 3
[edit] 参见
(C++20) |
返回一个等于范围大小的整数 (定制点对象) |
(C++20) |
返回一个等于范围大小的有符号整数 (定制点对象) |