<分区>
我有圆圈、方框和线条。现在我想在它们之间实现碰撞检测。这意味着我必须对两种形状的每种组合都有一个函数。当然,我可以对线与圆以及圆与线使用相同的方法,但我认为我的观点仍然成立。用 C++ 实现它的最优雅的方法是什么?
<分区>
我有圆圈、方框和线条。现在我想在它们之间实现碰撞检测。这意味着我必须对两种形状的每种组合都有一个函数。当然,我可以对线与圆以及圆与线使用相同的方法,但我认为我的观点仍然成立。用 C++ 实现它的最优雅的方法是什么?
最佳答案
在Modern C++ Design本书的 Multimethods 一章解释了如何实现它们并记录了如何使用 [Loki 库提供的实现][2]。还有Boost.Multimethod proposal , 但它还没有。该书恰好在对象碰撞主题上展示了多重方法的强大功能。
关于c++ - 在 C++ 中进行碰撞检测的多重分派(dispatch)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000827/