关于在dll中使用类的static变量。

Micro_J 2002-02-08 11:23:12
我知道,对于类中的static变量,要在其他地方(最好是全局)声明。
比如:
class A
{
private:
static int B;
...
public:
static void Reset(){B = 0;};
...
}
那么在全局必须定义:int A::B;A::Reset();
如果程序中要用class A,程序附带的Dll中也要用class A
那么A::B势必要被定义2次(一次在主程序,一次在Dll)。
请问这两个A::B到底是不是占用一个内存地址?
如果不是,怎么解决这两个变量的同步?
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Micro_J 2002-02-11
  • 打赏
  • 举报
回复
up
Micro_J 2002-02-10
  • 打赏
  • 举报
回复
UP
勉励前行 2002-02-10
  • 打赏
  • 举报
回复
我想,要同步class A 中的 static int B ;那么就應該只有只生成A的一個實例,不能有多個,你要么在主程序中定義,把A的實例的地址傳給 DLL,要么反過來做。
//只生成一個實例,其他要用到類A的地方采用引用的方法。
Micro_J 2002-02-09
  • 打赏
  • 举报
回复
??
UP
ciml 2002-02-09
  • 打赏
  • 举报
回复
一个头文件一个实现文件
包含头文件就行了啊
___NULL 2002-02-08
  • 打赏
  • 举报
回复
定义到 TForm1* Form1; 的下面

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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