Connecting Tech Pros Worldwide Help | Site Map

combining two stl vectors

vasileios zografos
Guest
 
Posts: n/a
#1: Jul 22 '05
Hi,

I am trying to combine two stl vectors into one

so something like

std::vector<int> vector1;
std::vector<int> vector2;
std::vector<int> FullVector;


so that FullVector = vector1 + vector2


Is there any other better way than using a for loop?

V.Z.

Ron Natalie
Guest
 
Posts: n/a
#2: Jul 22 '05

re: combining two stl vectors



"vasileios zografos" <restricted@nowhere.net> wrote in message
news:bs2ftv$2tm$1@newsg4.svr.pol.co.uk...[color=blue]
> Hi,
>
> I am trying to combine two stl vectors into one
>
> so something like
>
> std::vector<int> vector1;
> std::vector<int> vector2;
> std::vector<int> FullVector;
>
>
> so that FullVector = vector1 + vector2
>[/color]
FullVector.reserve(vector1.size() + vector2.size()); // Optional, tiny
performance improvement

FullVector.insert(FullVector.end(), vector1.begin(), vector1.end()); //
insert the first vector
FullVector.insert(FullVector.end(), vector2.begin(), vector2.end()); //
insert the second.


vasileios zografos
Guest
 
Posts: n/a
#3: Jul 22 '05

re: combining two stl vectors


Thank you

Jeff Schwab
Guest
 
Posts: n/a
#4: Jul 22 '05

re: combining two stl vectors


vasileios zografos wrote:[color=blue]
> Hi,
>
> I am trying to combine two stl vectors into one
>
> so something like
>
> std::vector<int> vector1;
> std::vector<int> vector2;
> std::vector<int> FullVector;
>
>
> so that FullVector = vector1 + vector2
>
>
> Is there any other better way than using a for loop?
>
> V.Z.
>[/color]



#include <vector>
#include <iterator>

int main( )
{
typedef std::vector< int > V;

V vector1;
V vector2;
V fullvector;

std::back_insert_iterator< V > p( fullvector );

copy( vector1.begin( ), vector1.end( ), p );
copy( vector2.begin( ), vector2.end( ), p );
}

Closed Thread


Similar C / C++ bytes