Tôi có bộ giảm thiểu chức năng một chiều. Ngay bây giờ tôi đang đi qua nó con trỏ chức năng. Tuy nhiên nhiều chức năng có nhiều tham số, một số được giữ cố định. Tôi đã triển khai điều này bằng cách sử dụng các functors như vậyLàm thế nào để bạn vượt qua tăng :: ràng buộc đối tượng với một chức năng?
template <class T>
minimize(T &f) {
}
Functor f(param1, param2);
minimize<Functor>(f);
Tuy nhiên định nghĩa functor có nhiều lỗi. Boost :: bind trông sạch hơn. Vì vậy mà tôi có thể làm:
minimize(boost:bind(f,_1,param1,param2))
Tuy nhiên tôi không rõ ràng những gì tuyên bố minimize
của tôi nên thích như sử dụng boost::bind
. Loại đối tượng là boost::bind
? Có một mô hình dễ dàng cho việc này mà tránh các boilerplate của functors nhưng cho phép nhiều tham số ràng buộc?