Estoy trabajando en una clase de gestión de recursos y quiero que el usuario proporcione un funtor a un método "ReleaseResource" como parte del constructor del administrador de recursos. A partir de allí, cuando se solicite un recurso, se proporcionará el functor como el eliminador para el shared_ptr que voy a devolver para que se invoque el método apropiado cuando el recurso ya no se utilice.Fungibles de retención como variables
El problema con el que me estoy encontrando es que esto requiere que almacene el funtor en mi clase, y no estoy del todo seguro de cómo hacerlo. Por lo general cuando se utiliza una plantilla de funtor que la función de este modo:
template<class MyFunctor> MyMethod(MyFunctor f) {
f();
}
que es grande si usted tiene la intención de utilizar el funtor en el ámbito de esa función, pero dado que la plantilla se sale del ámbito de la función que estoy no estoy seguro de cómo se especificaría una variable del tipo apropiado para almacenar el funtor para su uso posterior.
¿Puede alguien señalarme en la dirección correcta aquí?
¡Excelente! Esto es exactamente lo que estaba buscando. ¡Muchas gracias! – Toji