C++ Call

Da Andreabont's Wiki.

Dal C++17 sono disponbili degli strumenti con cui è possibile automatizzare la chiamata ad un qualsiasi elemento chiamabile (funzione, lambda, funtore...). Questi strumenti sono disponibili nell'header functional.

std::invoke

auto f = [](int i){ return i + 1; };
std::invoke(f, 4); // Ritorna 4

std::apply

auto f = [](int i){ return i + 1; };
std::apply(f, std::make_tuple(3)); // Ritorna 4