std::ranges::take_view<V>::size
来自cppreference.com
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_));
参数
(无)
返回值
元素数。
示例
运行此代码
#include <ranges> #include <iostream> 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() << ' '; } }
输出:
0 1 2 3 3 3