Функция views::take
Функция views::take создает представление,
которое содержит первые N элементов
исходного диапазона. В первый параметр мы передаем
исходный диапазон, а во второй - количество элементов,
которые нужно взять. Если в диапазоне меньше элементов,
чем указано, представление будет содержать все элементы
исходного диапазона.
Синтаксис
std::views::take(range, count)
Пример
Давайте возьмем первые 3 элемента
из вектора:
#include <iostream>
#include <vector>
#include <ranges>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
for (int el : vec | views::take(3)) {
cout << el << " ";
}
return 0;
}
Результат выполнения кода:
1 2 3
Пример
Давайте попробуем взять больше элементов, чем есть в векторе:
#include <iostream>
#include <vector>
#include <ranges>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
for (int el : vec | views::take(10)) {
cout << el << " ";
}
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте возьмем первые 2 элемента
из вектора строк:
#include <iostream>
#include <vector>
#include <string>
#include <ranges>
using namespace std;
int main()
{
vector<string> vec = {"a", "b", "c", "d", "e"};
for (const string& el : vec | views::take(2)) {
cout << el << " ";
}
return 0;
}
Результат выполнения кода:
"a" "b"
Смотрите также
-
функция
views::drop,
которая пропускает первые N элементов диапазона -
функция
views::filter,
которая фильтрует элементы диапазона -
функция
views::transform,
которая преобразует элементы диапазона -
функция
views::all,
которая создает представление из диапазона