Wpisanie wektora do wektora

0

Da się? Mam 2 wektory, przy czym zawartość drugiego chcę dopisać do pierwszego, bez czegoś takiego:

for(int i=0; i<drugi.size(); i++)
     pierwszy.push_back(drugi[i]);

Jest jakaś funkcja do tego? Bo nic nie znalazłem

0

wektor ma konstruktor kopiujący. wystarczy: pierwszy=drugi

0

No spoko, wiem, że ma, ale ja nie chcę podstawiac, tylko dopisać.

0

A co w tym co napisałeś jest źle?
To tak samo jak do wektora wcześniej dopisywałeś tak samo, przez tą funkcję, tak teraz do tego też przez nią dopisujesz

0

Ja nie mowie, ze jest zle, bo to dziala, i jest ok, ale czy jest jakis inny sposob? Jakas funkcja? Cokolwiek? w cpp reference nic w sumie nie znalazlem, a nie za bardzo mi sie wusmiecha pisac ciagle takie dopisywanie (i nie, rozwiazaniem nie bedzie funkcja dopisujaca, tzn zamkniecie tego w funkcji, szukam czegos innego)

0

jest:

#include <iostream>
#include <vector>

using namespace std;

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

    vector<int> v1(tab1, tab1 + sizeof(tab1) / sizeof(int));
    vector<int> v2(tab2, tab2 + sizeof(tab2) / sizeof(int));

    v1.insert(v1.end(), v2.begin(), v2.end()); // --> pierwszym argumentem wyznaczasz sobie miejsce wstawiania
    vector<int>::iterator it1 = v1.begin();
    for(;it1 != v1.end(); ++it1)
        cout << *it1 << " ";

    return 0;
}

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