typedef std::function<void(std::string)> const& fn;
std::function, std::function.
TestClass(fn _f) : f(_f) { F(); }
fn f;
const& std::function const& std::function. F() , , , , .
TestClass t([](std::string str) {std::cout << str << std::endl; });
std::function, . ( ;).
std::function .
TestClass std::function const&, .
, std::function const& - undefined , .F() .
fn __f = [](std::string str) {std::cout << str << std::endl; };
. std::function, , , __f.
, , , , . , .
TestClass t(__f);
( ), .
auto __f = [](std::string str) {std::cout << str << std::endl; };
__f (. , ), .
std::function. A std::function .
TestClass t(__f);
std::function , TestClass, .
.F() , undefined.
, , - std::function. . A std::function .
, - const&, . -, .
- . ( , _, ).
, std::function , SO .