C++调用程序中的所有update()函数

标签 c++ methods

我知道这是可能的,但我对 C++ 的经验不足限制了我。我想要做的是有一些系统,我可以将 update() 方法添加到某些类,并让程序中的所有更新方法在每一帧都被调用。

Unity3D 用户可能对此很熟悉。但是,当未确定的类中存在未确定数量的方法时,程序如何知道调用每个 Update() 方法。

我想它是一个在整个程序中动态调用函数的系统。

最佳答案

没有魔杖可以为您做到这一点。您需要手动维护您创建的具有此 Update 方法的所有对象的列表,并在需要时遍历该列表,依次对每个对象调用该方法。

此外,您必须满足编译器的要求,然后它才会允许您执行此操作。这意味着如果列表实际上是一个标准容器,例如 std::vector,它需要是一个指向由其中的 所有 实例共享的某个基类的指针的容器(这是标准方法)。有一些方法可以让您绕过这个限制,但是在诉诸这些方法之前,您应该非常非常清楚自己在做什么。

关于C++调用程序中的所有update()函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11262618/

相关文章:

ruby-on-rails - Rails:路线, Controller , View ,噢,我的感叹号

c++ - boost property tree add_child 指定路径

c++ - 多个线程无法访问同一个指针而不会出错

c++ - 如何测试输入数据总是整数类型?

c++ - 在QT gui上将.csv文件导入到sqlite3数据库表

每个用户具有唯一值的 Java 变量

c++ - 在 C++ 中拆分点上的字符串并从中提取所有字段?

java - 传递参数从mysql java检索数据的方法

objective-c - 为什么不能在每行声明多个方法原型(prototype)?

java - "Incompatible types: String cannot be converted to Person"?