C++ transform vector of pointers -


hey trying transform vectors of pointers object vector of pointers different object.

i have been given following classes:

class test; class test2 {     public:         test2(test*); } 

i unfamiliar on how create functor. part of sample exam exams later week confused on question though. following link explains use of transform quite problem little different. great!

reference: http://www.cplusplus.com/reference/algorithm/transform/

a functor 1 overloads operator(). can define functor as:

struct test2generator {      //this called std::transform      test2* operator()(test1 *param) const      {           return new test2(param);      } }; 

then use as:

std::vector<test1*> v1; //fill v1  std::vector<test2*> v2(v1.size());  std::transform(v1.begin(), v1.end(), v2.begin(), test2generator()); 

in c++11, don't need define functor, instead can use lambda as:

std::transform(v1.begin(),                 v1.end(),                 v2.begin(),                 [](test1 *param) { return new test2(param); }); 

Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -