【发布时间】:2017-11-30 08:59:01
【问题描述】:
我想创建一个基类来帮助我存储一些关于类本身的信息。这些变量之一是实例计数器。它计算类的实例。
通常我只会使用一个静态成员变量,当调用基本构造函数时我会增加它,而当调用基本析构函数时我会减少它。问题是静态成员变量不会为每个派生类重新创建。相反,访问是继承的,使其不是一个单独的计数器,而是一个简单地计算继承的基类数量的计数器。 那不是我的目标。
我想要什么:
- 计数器应该可以工作,而无需在派生类中执行任何操作,而不是从基类派生
- 该方法不需要太多的处理能力或内存。
我尝试过的:
- 使用静态成员(明显失败)
- 使用普通会员(明显失败,一开始就清楚)
做这种事情的正确方法是什么。
【问题讨论】:
-
您只需要 CRTP。
-
什么@n.'pronouns'm。这里指的是奇怪地重复出现的模板模式。例如,您可以在这里阅读:stackoverflow.com/questions/4173254/…
标签: c++ inheritance