# std::ranges::take_view<V>::size

< cpp‎ | ranges‎ | take view

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