Tôi đang làm việc trên một lớp quản lý tài nguyên và muốn người dùng cung cấp một hàm functor cho một phương thức "ReleaseResource" như một phần của hàm tạo của trình quản lý tài nguyên. Từ đó khi một tài nguyên được yêu cầu functor sẽ được cung cấp như là deleter cho shared_ptr mà tôi sẽ quay trở lại để phương thức thích hợp sẽ được gọi khi tài nguyên không còn được sử dụng nữa.Giữ lại các functors dưới dạng biến
Sự cố mà tôi đang gặp phải là điều này yêu cầu tôi lưu trữ hàm trong lớp của mình và tôi không hoàn toàn chắc chắn cách thực hiện điều đó. Thông thường khi sử dụng một functor bạn template chức năng như vậy:
template<class MyFunctor> MyMethod(MyFunctor f) {
f();
}
Đó là tuyệt vời nếu bạn có ý định sử dụng các functor trong phạm vi chức năng đó, nhưng kể từ khi mẫu đi ra khỏi phạm vi với chức năng tôi không chắc chắn làm thế nào bạn sẽ chỉ định một biến của loại thích hợp để lưu trữ các functor để sử dụng sau này.
Có ai có thể chỉ cho tôi đúng hướng ở đây không?
Tuyệt vời! Điều này thật đúng với gì mà tôi đã tìm kiếm. Cảm ơn nhiều! – Toji