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
Post a Comment