Есть ли что-нибудь похожее на индексацию Python в c ++? - PullRequest
0 голосов
/ 17 сентября 2018

Я работаю над использованием частей массива символов в C ++ и пытался найти самый простой способ сделать это.Я знаю, что в Python вы можете просто сделать что-то вроде str [1:], которое даст вам весь массив, кроме первой позиции, и мне было интересно, есть ли в C ++ какие-либо аналоги этому или нет, что было бы самым простым способом реализовать это.

1 Ответ

0 голосов
/ 17 сентября 2018

На данный момент вы можете попробовать использовать в качестве только заголовка Boost.Range ( sliced ​​ и т. Д.) Библиотеку (+ есть глава об этом на theboostcpplibraries.com ).

Пример из документации библиотеки:

#include <boost/range/adaptor/sliced.hpp>
#include <boost/range/algorithm/copy.hpp>
#include <boost/assign.hpp>
#include <iterator>
#include <iostream>
#include <vector>

int main(int argc, const char* argv[])
{
    using namespace boost::adaptors;
    using namespace boost::assign;

    std::vector<int> input;
    input += 1,2,3,4,5,6,7,8,9;

    boost::copy(
        input | sliced(2, 5),
        std::ostream_iterator<int>(std::cout, ","));

    return 0;
}

В будущем, вероятно, в стандарте будет что-то, называемое span<T> (обсуждение здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...