相关疑难解决方法(0)

模板类静态成员变量应该在.h文件中定义

如果模板类定义包含依赖于模板类型的静态成员变量,我不确定应该采用什么样的可靠行为?

在我的例子中,最好将静态成员的定义放在与类定义相同的.h文件中,因为

  1. 我希望这个类对于我目前不知道的许多模板数据类型是通用的.
  2. 我希望在我的程序中只为每个给定的模板类型共享一个静态成员实例.(一个为所有MyClass<int>,一个为所有MyClass<double>,等等.

我可以最简单地说,在使用gcc 4.3编译时,此链接中列出的代码完全符合我的要求.这种行为是否符合C++标准,以便在使用其他编译器时可以依赖它?

该链接不是我的代码,而是CodeMedic此处讨论的一个反例.我发现其他几个辩论这样的一个,但没有,我认为定论.

我认为链接器正在整合找到的多个定义(在示例a.o和中b.o ).这是必需/可靠的链接器行为吗?

c++ standards static templates member

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

member ×1

standards ×1

static ×1

templates ×1