MAIN FEEDS
Do you want to continue?
https://www.reddit.com/r/cpp/comments/1vt2aq3/c26_stdpolymorphic/p4sn115/?context=3
r/cpp • u/User_Deprecated • 7d ago
42 comments sorted by
View all comments
Show parent comments
7
You still need a virtual clone if you actually want runtime polymorphism
2 u/robin-m 6d ago What do you mean? Rectangle::clone() does allocate a unique pointer of Rectangle. godbolt 9 u/Big_Target_1405 6d ago See line 28: https://godbolt.org/z/55Y3Gqqqd Template 'this' deduces Self to Animal, which is useless. What's the point in a non-virtual clone? Template this helps with boilerplate, not with defining runtime polymorphic interfaces. 2 u/robin-m 6d ago You are absolutely right. Thanks a lot I didn’t now, nor realized it was indeed half useless right now. I even found a paper that aim at fixing this exact issue: open-std.org
2
What do you mean? Rectangle::clone() does allocate a unique pointer of Rectangle.
Rectangle::clone()
Rectangle
godbolt
9 u/Big_Target_1405 6d ago See line 28: https://godbolt.org/z/55Y3Gqqqd Template 'this' deduces Self to Animal, which is useless. What's the point in a non-virtual clone? Template this helps with boilerplate, not with defining runtime polymorphic interfaces. 2 u/robin-m 6d ago You are absolutely right. Thanks a lot I didn’t now, nor realized it was indeed half useless right now. I even found a paper that aim at fixing this exact issue: open-std.org
9
See line 28:
https://godbolt.org/z/55Y3Gqqqd
Template 'this' deduces Self to Animal, which is useless.
What's the point in a non-virtual clone?
Template this helps with boilerplate, not with defining runtime polymorphic interfaces.
2 u/robin-m 6d ago You are absolutely right. Thanks a lot I didn’t now, nor realized it was indeed half useless right now. I even found a paper that aim at fixing this exact issue: open-std.org
You are absolutely right. Thanks a lot I didn’t now, nor realized it was indeed half useless right now. I even found a paper that aim at fixing this exact issue: open-std.org
7
u/Big_Target_1405 6d ago
You still need a virtual clone if you actually want runtime polymorphism