Deducción de la función.
Digamos que tenemos una plantilla de clase como esta:
template<typename F>
class A
{
public:
template<typename... Args>
A(F f, Args... args)
{ /* Do something... */ }
};
Y ahora quiero usarlo de alguna manera como esta:
A<int(int)> a(::close, 1);
Ahora la pregunta: ¿hay alguna forma de omitir el<int(int)>
porque un compilador puede conocer esta información para::close
? No es necesario guardar el "diseño" de la plantilla.
En cuanto a la tarea concreta, necesito diseñar una plantilla de una clase. Los objetos de esta clase podrían tomar una función y parámetros para esta función en tiempo de construcción y llamar a esta función más tarde.