1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <iostream> #include <functional> template<typename T> struct X { template<typename F> X(const F & f, T v) :f_(f), v_(v) {} void DoIt() const { f_(v_); } private: std::function<void(T)> f_; T v_; }; int main(int argc, char *argv[]) { auto print_stuff = [](int n) { for(int i=0; i<n; ++i) std::cout << i << ' '; std::cout << '\n'; }; X<int> x(print_stuff, 7); x.DoIt(); } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnVuY3Rpb25hbD4KCnRlbXBsYXRlPHR5cGVuYW1lIFQ+CnN0cnVjdCBYCnsKCXRlbXBsYXRlPHR5cGVuYW1lIEY+CglYKGNvbnN0IEYgJiBmLCBUIHYpCgkJOmZfKGYpLCB2Xyh2KQoJe30KCgl2b2lkIERvSXQoKSBjb25zdCB7CgkJZl8odl8pOwoJfQpwcml2YXRlOgoJc3RkOjpmdW5jdGlvbjx2b2lkKFQpPiBmXzsKCVQgdl87Cn07CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CgoJYXV0byBwcmludF9zdHVmZiA9IFtdKGludCBuKSB7IAoJCWZvcihpbnQgaT0wOyBpPG47ICsraSkKCQkJc3RkOjpjb3V0IDw8IGkgPDwgJyAnOwoJCXN0ZDo6Y291dCA8PCAnXG4nOwoJfTsKCglYPGludD4geChwcmludF9zdHVmZiwgNyk7CgoJeC5Eb0l0KCk7Cn0=
-
upload with new input
-
result: Success time: 0s memory: 2960 kB returned value: 0
0 1 2 3 4 5 6


