c++模板类中的静态变量

hbt19860104 2011-12-30 10:48:29
大家好,小弟遇到一问题,如下:
在公共库的一个头文件(tmpl.h) 中,有一个模板类
template<typename Type>
class Table
{
public:
static int m_ival;
};
template<typename Type>
int Table<Type>::m_ival = 0;

本来想法是,同一进程中,所有使用这变量的对象m_ival共享同一内存空间。
但现在问题是,发现在共享库中该变量的地址,和应用进程代码中该变量的地址不一致。

请问下,这种情况下,我要怎么解决啊?先谢谢了!
...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
quwei197874 2011-12-31
  • 打赏
  • 举报
回复
模板就是在编译时的多态,怎么能一样
hbt19860104 2011-12-31
  • 打赏
  • 举报
回复
谢谢哥们。Type是一样的。可是你想,在编译共享库的时候,它的m_ival地址已经确定,并不知道编译应用时会使用什么地址。我有测试了一下,是不一样的。
qq120848369 2011-12-30
  • 打赏
  • 举报
回复
Type不一样,地址就不一样啊,同一个type肯定是一样的。

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧