tại thời điểm này tôi thực sự quan tâm đến các mẫu biểu thức và muốn mã hóa thư viện để viết và phân biệt các hàm toán học với cú pháp kiểu lambda. Tại thời điểm này, tôi có thể viết (_x * _x)(2);
và nhận được kết quả chính xác 4. Nhưng tôi thực sự muốn làm một cái gì đó như MathFunction f = _x * _x; f(2);
, nhưng tôi không có bất kỳ ý tưởng về cách đối phó với các mẫu biểu hiện đệ quy ở phía bên phải . Có thể đạt được điều này mà không sử dụng 'auto'-Keyword thay vì MathFunction hoặc phải làm cho toán tử() ảo không?Lưu trữ các mẫu biểu mẫu functors
Cảm ơn sự giúp đỡ của bạn!
Cảm ơn câu trả lời này và các liên kết! Tôi đã quét tài liệu Boost.Lambda cho một giải pháp cho vấn đề của mình, nhưng tôi đã không tìm thấy một dòng nơi các hàm lambda đó thực sự được "lưu trữ", chúng luôn được sử dụng nội tuyến. Hiện tại, tôi sử dụng phương pháp "C++ Templates - Hướng dẫn xác định" để hiển thị mẫu. – fhenneke
Ngoại lệ không bắt buộc, tôi đã đề xuất bạn xem mã nguồn. Bạn đã nhìn chưa? – batbrat