【发布时间】:2011-08-15 05:38:33
【问题描述】:
C++ 中的模板类可以有静态成员吗?既然不存在,而且在使用前不完整,这可能吗?
【问题讨论】:
-
你的问题不清楚。这是具有静态成员的模板类:codeproject.com/KB/cpp/value_t.aspx Afloat since 2004。
-
C++ 专家更喜欢术语“类模板”,因为类模板是模板,而不是类。这有助于回避上述“它不存在”的假设。类模板显然存在。它只是还没有任何实例化,而正是那些模板实例化可以有成员。
-
作为对此的扩展,以及@Potatoswatter 的回答,如果我想在我的类模板中声明
static T foo;,会发生什么变化?在我正在考虑的用例中,将使用的类型集相当有限,可以保证它们都是基本的 POD 类型,例如int,float,uint64_tetc.etc.etc。我可以只创建我认为我需要的所有静态成员声明,如果有必要添加更多,如果新类型用作模板类型,导致未定义的引用?
标签: c++ templates static-members