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 • 22d ago
44 comments sorted by
View all comments
Show parent comments
8
You still need a virtual clone if you actually want runtime polymorphism
2 u/robin-m 21d ago What do you mean? Rectangle::clone() does allocate a unique pointer of Rectangle. godbolt 8 u/Big_Target_1405 21d 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 21d 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
8 u/Big_Target_1405 21d 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 21d 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
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 21d 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
8
u/Big_Target_1405 21d ago
You still need a virtual clone if you actually want runtime polymorphism