Làm cách nào để tôi có thể bật chuyển tiếp hoàn hảo thông qua chức năng ảo? Tôi thực sự không có mong muốn viết mọi quá tải như trong C++ 03.Chuyển tiếp hoàn hảo - thông qua các chức năng ảo
5
A
Trả lời
3
Bạn không thể. Chuyển tiếp hoàn hảo chỉ hoạt động bằng cách kết hợp các mẫu và tham chiếu rvalue, bởi vì nó phụ thuộc vào loại thực tế T&&
đánh giá khi T là chuyên biệt. Bạn không thể trộn mẫu và chức năng ảo.
Tuy nhiên, bạn có thể có thể có thể giải quyết vấn đề của bạn bằng một số loại cơ chế kiểu tẩy xoá:
struct base {
virtual void invoke() = 0;
};
template <class T>
struct derived : public base {
derived(T&& yourval) : m_value(std::forward(yourval)) {}
virtual void invoke() { /* operate on m_value.. */ }
T&& m_value;
};
Các vấn đề liên quan
- 1. C++ 11 std :: chức năng và chuyển tiếp hoàn hảo
- 2. Hoàn hảo Chuyển tiếp đến async lambda
- 3. min và chuyển tiếp hoàn hảo
- 4. Chuyển tiếp hoàn hảo trong D?
- 5. Máy tính Eulers Chức năng hoàn hảo
- 6. Tại sao chức năng chuyển tiếp hoàn hảo phải được tạo mẫu?
- 7. Chức năng băm hoàn hảo và băm hoàn hảo động - giải thích xin vui lòng?
- 8. Chuyển tiếp hoàn hảo cho các chức năng trả về vô hiệu và không có hiệu lực
- 9. Chuyển tiếp hoàn hảo - tất cả là gì?
- 10. Làm thế nào để kết hợp std :: bind(), mẫu variadic và chuyển tiếp hoàn hảo?
- 11. Gọi các chức năng ảo thông qua tham chiếu đến lớp cơ sở
- 12. Bộ chức năng thông minh hoàn toàn
- 13. được ký bằng băm hoàn hảo gần như hoàn hảo
- 14. chức năng ảo const vs chức năng ảo không const
- 15. dired lùi/chuyển tiếp chức năng
- 16. Câu hỏi với các chức năng ảo
- 17. Hoàn hảo chuyển tiếp và std :: tuple (hoặc lớp templated khác)
- 18. Tạo chức năng thông qua MySQLdb
- 19. postgresql 9.1 - bảng truy cập thông qua các chức năng
- 20. chức năng ảo nội tuyến
- 21. typecasting với các chức năng ảo
- 22. Chuyển tiếp Bản khai mẫu Chức năng
- 23. Sử dụng chức năng Chuyển qua chức năng khác nhau
- 24. CsvReader Chức năng tiếp theo
- 25. Thừa kế chức năng ảo
- 26. C++ ảo Const Chức năng
- 27. Chuyển các đối số bổ sung thông qua chức năng xử lý trong Matlab
- 28. gcc 4.7.2 lỗi chức năng ảo
- 29. Async programmic và ảo chức năng
- 30. C++ "chức năng ảo nhưng không có hàm hủy ảo"