Tôi thích kiểu dáng mẫu phù hợp với Haskell.Kiểu kết hợp mẫu trong C++?
Tôi có C++ mã của tôi như sau:
ObjectPtr ptr;
if(ptr.isType<Foo>()) { // isType returns a bool
Ptr<Foo> p = ptr.convertAs<Foo>(); // convertAs returns a Ptr<Foo>
......
}
if(ptr.isType<Bar>()) {
Ptr<Bar> p = ptr.convertAs<Bar>();
......
}
Bây giờ, là có bất kỳ macro Toâi coù theå laøm xác định để đơn giản hóa này? Tôi đã cân nhắc điều này một thời gian, nhưng không thể đơn giản hóa nó thêm.
Cảm ơn!
Tôi đoán bạn đang thiếu '()' sau 'isType'. – AndiDog
Cuộc gọi tốt. +1 trên nhận xét. – anon
Trong Mach7, mã của bạn sẽ trông giống như sau:
Xem https://github.com/solodon4/Mach7 và câu trả lời của tôi về Mach7 bên dưới – solodon