【发布时间】:2021-09-06 02:35:25
【问题描述】:
我正在处理一个设计难题,希望能得到您的想法。 我已经实现了一个模板类 PacketManager,它为作为模板给出的不同类型的数据包实现了资源管理器的功能。对于每种类型的数据包,我只有一个实例(单例),我希望有一个计数器来计算为不同类型的数据包生成的 PacketManager 实例的数量(因此基本上计算系统中数据包类型的数量)。 自然地,人们会使用一个静态 int 变量并在每次实例化时递增它。但是对于模板,我不能只为所有模板实例提供一个静态变量。相反,我对每种数据包类型都有一个静态变量。 你们能想出一个干净的解决方案来获得我需要的功能吗? 我想到的唯一解决方案是定义一个不理想的全局变量。
【问题讨论】:
标签: c++ templates global-variables static-variables