#include <vector>
struct sometype{};
int handler(int argc, const sometype *const *argv);
int handler(const std::vector<sometype*>& arg)
{return handler(arg.size(), &arg[0]);} //no copies
int handler(int argc, const sometype *const*argv) {
const std::vector<const sometype*> arg(argv, argv+argc); //this will copy the pointers
//stuff
return 0;
}
int main() {}
I2luY2x1ZGUgPHZlY3Rvcj4Kc3RydWN0IHNvbWV0eXBle307CgppbnQgaGFuZGxlcihpbnQgYXJnYywgY29uc3Qgc29tZXR5cGUgKmNvbnN0ICphcmd2KTsKCmludCBoYW5kbGVyKGNvbnN0IHN0ZDo6dmVjdG9yPHNvbWV0eXBlKj4mIGFyZykgCntyZXR1cm4gaGFuZGxlcihhcmcuc2l6ZSgpLCAmYXJnWzBdKTt9IC8vbm8gY29waWVzCgppbnQgaGFuZGxlcihpbnQgYXJnYywgY29uc3Qgc29tZXR5cGUgKmNvbnN0KmFyZ3YpIHsKICAgIGNvbnN0IHN0ZDo6dmVjdG9yPGNvbnN0IHNvbWV0eXBlKj4gYXJnKGFyZ3YsIGFyZ3YrYXJnYyk7IC8vdGhpcyB3aWxsIGNvcHkgdGhlIHBvaW50ZXJzCiAgICAvL3N0dWZmCiAgICByZXR1cm4gMDsKfQoKaW50IG1haW4oKSB7fQ==