16 Functor(
int offset): m_offset{ offset } {}
21 return m_offset * (a + b);
29 stream <<
"50 will be returned: " << f(2, 3) <<
endl;
33 stream <<
"100 will be returned: " << g(2, 3) <<
endl;
35 auto h = [offset = 10](
int a,
int b)
40 stream <<
"calling lambda(2, 3) : " << h(2, 3) <<
endl;
42 auto j = [offset = 25](
int a,
int b)
44 return offset * (a * b);
47 stream <<
"calling j(2, 2) ? " << j(2, 2) <<
endl;
62 return m_data*(a + b);
67 return m_data*(a * b);
72 return v * v / m_data;
83 return (d.*fptr)(a, b);
88 return (dptr->*fptr)(a, b);
120 int (*fptr) (int, int);
134 auto r = (d1.*mfptr)(2, 3);
140 r = (d1.*mfptr)(2, 3);
int call_mem(DummyClass &d, mem_function_t fptr, int a, int b)
void test_call_mem_through_obj_ptr()
int call_mem_through_obj_ptr(DummyClass *dptr, mem_function_t fptr, int a, int b)
int(DummyClass::*)(int, int) mem_function_t
void test_member_function_pointer()
int operator()(int a, int b) const
Stream output operators << are implemented.