Connecting Tech Pros Worldwide Help | Site Map

How to use std::copy?

  #1  
Old January 24th, 2006, 10:45 PM
kathy
Guest
 
Posts: n/a
I have array:

double a[1024];
double b[1024];
std::vector <double> vDouble;

when I use:

std::copy(a,a+1024,vDouble.begin());

I got error.

How to use std::copy?

Also, Is the following usage correct?
std::copy(a,a+1024,b);

  #2  
Old January 24th, 2006, 10:55 PM
roberts.noah@gmail.com
Guest
 
Posts: n/a

re: How to use std::copy?



kathy wrote:[color=blue]
> I have array:
>
> double a[1024];
> double b[1024];
> std::vector <double> vDouble;
>
> when I use:
>
> std::copy(a,a+1024,back_inserter(vDouble));
>
> I got error.
>
> How to use std::copy?
>
> Also, Is the following usage correct?
> std::copy(a,a+1024,b);[/color]

  #3  
Old January 24th, 2006, 11:05 PM
Victor Bazarov
Guest
 
Posts: n/a

re: How to use std::copy?


kathy wrote:[color=blue]
> I have array:
>
> double a[1024];
> double b[1024];
> std::vector <double> vDouble;
>
> when I use:
>
> std::copy(a,a+1024,vDouble.begin());
>
> I got error.[/color]

Yes. Your vector is empty. You need to either resize it to 1024 elements
or copy to a 'back_inserter(vDouble)'.
[color=blue]
> How to use std::copy?
>
> Also, Is the following usage correct?
> std::copy(a,a+1024,b);[/color]

Yes.

V
  #4  
Old January 25th, 2006, 02:25 AM
Cy Edmunds
Guest
 
Posts: n/a

re: How to use std::copy?



"kathy" <yqin_99@yahoo.com> wrote in message
news:1138142243.335413.284680@g14g2000cwa.googlegr oups.com...[color=blue]
>I have array:
>
> double a[1024];
> double b[1024];
> std::vector <double> vDouble;
>
> when I use:
>
> std::copy(a,a+1024,vDouble.begin());
>
> I got error.
>
> How to use std::copy?
>
> Also, Is the following usage correct?
> std::copy(a,a+1024,b);
>[/color]

Victor's answer is correct of course, but actually this isn't a great usage
of std::copy. It is probably better to declare vDouble as

std::vector<double> vDouble(a, a+1024);

If your standard library implementation is any good this should prevent
anything ugly from happening (such as initializing all 1024 elements to 0.0
and then overwriting them immediately or doing all the bookkeeping for 1024
push_back operations).


Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
Is this the wrong way to use std::list? TBass answers 7 January 6th, 2008 01:05 PM
How to use std::copy with std::map? Siegfried Heintze answers 1 May 4th, 2006 01:55 AM
everywhere, i need to use std:: drdoubt answers 15 July 23rd, 2005 02:08 AM
filecopy with std::copy() Thomas J. Clancy answers 9 July 19th, 2005 06:12 PM