小编Chr*_*ris的帖子

模仿 C++ 中的静态构造函数

这是一个与 C++ 中对象初始化相关的问题。

我有一组类(不是实例),它们继承自一个公共基类,我需要它们在程序启动时在容器(特别是地图)中注册有关它们自己的信息。

问题是我需要它是动态的。容器定义在一个独立的项目中,不同于类。我宁愿避免制作库的多个硬编码版本,每个使用它的程序中的每一组类都有一个。

我想过在每个子类中都有一个特殊类的静态实例,这将在其构造函数中进行注册。但是,我发现没有办法保证在构造这些对象之前构造容器。

我还应该注意,在创建这些子类的任何实例之前,容器中关于子类的信息应该可用。

有没有办法做到这一点,或者在一般情况下模仿 C++ 中的静态构造函数?

c++ static-constructor static-initialization

5
推荐指数
1
解决办法
3003
查看次数