首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用“奇怪地重复出现的模板模式”的增量数字

使用“奇怪地重复出现的模板模式”的增量数字
EN

Stack Overflow用户
提问于 2011-04-07 01:29:56
回答 5查看 714关注 0票数 1

我想实现一个在创建时将其字段addr初始化为唯一值的class Address。每次创建Address实例时,该值都必须递增1。

让我们举个例子。在执行以下代码之后:

代码语言:javascript
运行
复制
Address x;
Address y;

x.addr应为1,而y.addr应为2。

为了实现这一点,我想到了Curiously Recurring Template Pattern。这可行吗?另外,有没有更简单的方法来实现同样的行为?

TIA,Jir

EN

Stack Overflow用户

发布于 2011-04-07 01:35:11

当然,您可以完全按照您引用的维基百科文章中的说明进行操作。(除了它听起来不像是要递减dtor中的计数器。)或者,如果您只需要在Address类中使用它,那么您可以像CRTP实现那样一次性地执行以下操作:

代码语言:javascript
运行
复制
static int n_addresses = 0;
class Address {
  int addr;
  Address() { addr = ++n_addresses; }
};

或者类似的东西。

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5570514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档