#include <vector>
#include <algorithm>
#include <iterator>
#include <iostream>
struct S
{
S() : i(0) { }
S(int i_) : i(i_) { }
int i;
};
int main()
{
S a[256] = { 42 };
std::vector<S*> v;
transform(std::begin(a), std::end(a), std::back_inserter(v), [] (S& s) { return &s; });
std::cout << v.size() << std::endl;
std::cout << v[0]->i << std::endl;
std::cout << v[1]->i << std::endl;
}
ICAgICNpbmNsdWRlIDx2ZWN0b3I+CiAgICAjaW5jbHVkZSA8YWxnb3JpdGhtPgogICAgI2luY2x1ZGUgPGl0ZXJhdG9yPgogICAgI2luY2x1ZGUgPGlvc3RyZWFtPgoKICAgIHN0cnVjdCBTCiAgICB7CiAgICAgICAgUygpIDogaSgwKSB7IH0KICAgICAgICBTKGludCBpXykgOiBpKGlfKSB7IH0KICAgICAgICBpbnQgaTsKICAgIH07CgogICAgaW50IG1haW4oKQogICAgewogICAgICAgIFMgYVsyNTZdID0geyA0MiB9OwoKICAgICAgICBzdGQ6OnZlY3RvcjxTKj4gdjsKICAgICAgICB0cmFuc2Zvcm0oc3RkOjpiZWdpbihhKSwgc3RkOjplbmQoYSksIHN0ZDo6YmFja19pbnNlcnRlcih2KSwgW10gKFMmIHMpIHsgcmV0dXJuICZzOyB9KTsKCiAgICAgICAgc3RkOjpjb3V0IDw8IHYuc2l6ZSgpIDw8IHN0ZDo6ZW5kbDsKICAgICAgICBzdGQ6OmNvdXQgPDwgdlswXS0+aSA8PCBzdGQ6OmVuZGw7CiAgICAgICAgc3RkOjpjb3V0IDw8IHZbMV0tPmkgPDwgc3RkOjplbmRsOwogICAgfQo=