Inicjalizowanie wektora częścią oryginału drugiego wektora

0

Witam,
Napisałem taki oto kod przy pomocy bibliotek QT:

#include <QCoreApplication>
#include <QVector>
#include <qDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QVector<int> vec;
    int n = 10;
    for(int i = 0; i < n; i++){

        vec.push_back(2*i);

    }

    // vec: 0,2,...,18
    QVector<int> vec2 = vec.mid(0,n-1);

    return a.exec();
}

 

Stworzyłem w nim jeden wektor vec typu int, następnie drugi wektor vec2(też typu int). Oba przy użyciu klasy QVector. Jak widać drugi wektor vec2 jest zainicjalizowany pierwszym za pomocą metody mid(int pos, int length = -1). Operacja odbywa się przez kopiowanie. Zależałoby mi na stworzeniu wektora vec2 poprzez zainicjowanie wycinkiem oryginału pierwszego z jakiegoś zakresu indeksów wektora vec. Czy próbował ktoś zrobić tego typu operacje?

Będę wdzięczny za rady i podpowiedzi, sposób rozwiązania problemu.
Pozdrawiam

1

http://doc.qt.io/qt-5/qvector.html

nie ma takiego konstruktora

0

ja nie rozumiem czemu ci się QVector::mid nie podoba? Robi to co należy.
Jeśli chcesz referencję do fragmentu wnętrza wektora (a nie kopię wnętrza), to chcesz stąpać po cienkim lodzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1