模板元编程:在类方法上编译时间循环
不要被标题吓到! 这篇文章是受此博客文章启发的。 在帖子中,Stefan提到他将完整的实现作为“读者的锻炼”。 在学习了有关模板元编程的一段时间之后,我想出了一个我想在这篇文章中分享的实现。 是的,您可以使用boost,但是这样做的乐趣在哪里? 最终,我们最终在此处创建的util方法将用于我的游戏引擎实现,因此,如果您还没有看到真正的用例,请稍候;)。 问题 我们要执行一个for循环,该循环调用依赖于迭代器value参数的类方法。 这是一个非常简单的问题,这是解决方案: 我们经营一家清洁公司,每天必须清洗一堆房屋,但要使用不同的工具。 这是我们的HouseCleaner类: 要解决此问题,我们将需要添加一层抽象。 而不是将CleanHouse结构传递给forLoop,我们将传递另一个结构CleanHouseWrapper,该结构随后将为我们调用cleanHouse()方法。 让我们用完这里的内容: forLoop 会递归循环并在Wrapper上调用operator()的Util方法。 N :运行循环多少次(N…