c++ - 在 C++ 中进行碰撞检测的多重分派(dispatch)?

标签 c++ multiple-dispatch

<分区>

我有圆圈、方框和线条。现在我想在它们之间实现碰撞检测。这意味着我必须对两种形状的每种组合都有一个函数。当然,我可以对线与圆以及圆与线使用相同的方法,但我认为我的观点仍然成立。用 C++ 实现它的最优雅的方法是什么?

最佳答案

Modern C++ Design本书的 Multimethods 一章解释了如何实现它们并记录了如何使用 [Loki 库提供的实现][2]。还有Boost.Multimethod proposal , 但它还没有。该书恰好在对象碰撞主题上展示了多重方法的强大功能。

关于c++ - 在 C++ 中进行碰撞检测的多重分派(dispatch)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000827/

相关文章:

C++编译QT报错

c++ - 如何在 C++11 中将 lambda 表达式存储为类的字段?

java - 在没有 Double Dispatch/Visitor 模式的情况下解决 Java 的静态方法调度

julia - Julia 是如何实现多方法的?

python - 在python中进行多次调度的简单方法? (没有外部库或类构建?)

types - 可以在 OCaml 中的类型之间编码二进制函数吗?

C++,以下代码的计算顺序

c++ - Mixin 构造函数嵌套包扩展

c++ - 我如何知道 `rehash` 是否发生在我插入 unordered_map 之后?