Информация об изменениях

Сообщение Re: range based for - первый/последний? от 13.03.2019 7:08

Изменено 13.03.2019 10:02 rg45

Re: range based for - первый/последний?
Здравствуйте, Marty, Вы писали:

M>Для нового range-for'а есть какой-нибудь вариант?


При помощи boost::make_iterator_range можно вырезать подпоследовательности из последовательностей самых разных типов (в т.ч. и встроенных массивов):

Сложноватым пример показался? Упростил.

https://ideone.com/CSSJR2

#include <iostream>
#include <boost/range/iterator_range.hpp>

int main()
{
    const int array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    // Just process the first element separately. No checks required in the loop.
    std::cout << *std::begin(array);
        
    for (const auto& item : boost::make_iterator_range(array, 1, 0))
    {
        std::cout << ", " << item;
    }
}
Re: range based for - первый/последний?
Здравствуйте, Marty, Вы писали:

M>Для нового range-for'а есть какой-нибудь вариант?


При помощи boost::make_iterator_range можно вырезать подпоследовательности из последовательностей самых разных типов (в т.ч. и встроенных массивов):

P.S. Сложноватым пример показался? Упростил.

https://ideone.com/CSSJR2

#include <iostream>
#include <boost/range/iterator_range.hpp>

int main()
{
    const int array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    // Just process the first element separately. No checks required in the loop.
    std::cout << *std::begin(array);
        
    for (const auto& item : boost::make_iterator_range(array, 1, 0))
    {
        std::cout << ", " << item;
    }
}