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
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
wektor ma konstruktor kopiujący. wystarczy: pierwszy=drugi
No spoko, wiem, że ma, ale ja nie chcę podstawiac, tylko dopisać.
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
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)
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;
}