# std::ranges::drop_view<V>::drop_view

< cpp‎ | ranges‎ | drop view

drop_view() requires std::default_initializable<V> = default; | (1) | (C++20 起)
constexpr drop_view( V base, ranges::range_difference_t<V> count ); | (2) | (C++20 起)

构造 `drop_view` 。

1) 默认构造函数。值初始化底层视图并初始化计数为 0 。构造后 `base()` 返回 V() 的副本而 `size()` 等于底层视图的大小。
2) 以 std::move(base) 初始化底层视图并以 count 初始化计数。构造后 `base()` 返回 `base` 的副本而 `size()` 若 `base` 的大小不小于 `count` 则返回 ranges::size(base) - count ，否则返回 ​0​ 。

### 参数

base | - | 底层视图
count | - | 要跳过的元素数

### 示例

    #include <algorithm>
    #include <array>
    #include <iostream>
    #include <iterator>
    #include <ranges>

    int main()
    {
        constexpr std::array hi{ 'H','e','l','l','o',',',' ','C','+','+','2','0' };

        std::ranges::for_each(hi, [](const char c){ std::cout << c; });
        std::cout << '\n';

        constexpr auto n = std::distance(hi.cbegin(), std::ranges::find(hi, 'C'));

        auto cxx = std::ranges::drop_view{ hi, n };

        std::ranges::for_each(cxx, [](const char c){ std::cout << c; });
        std::cout << '\n';
    }

输出：

    Hello, C++20
    C++20