首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这个功能应该如何实现

2012-09-12 
这个功能应该怎么实现?有一个整形变量g_value,有一个函数ValueChanged,现在要求当g_value的值被改变的时候

这个功能应该怎么实现?
有一个整形变量g_value,有一个函数ValueChanged,
现在要求当g_value的值被改变的时候,函数ValueChanged将自动被调用。
请问大家,这个功能可以实现吗?

[解决办法]
弄一个副本记录g_value的值可以么?然后在改变g_value的地方加入判断条件

C/C++ code
int f_value = g_value;...g_value = ...if(g_value != f_value){    ValueChanged();    f_value = g_value;}
[解决办法]
Delphi和C#中的属性可以实现这种功能,C/C++中不支持。
[解决办法]
可以用CPU的数据改变断点
[解决办法]
貌似听说过 观察者模式。。。lz试试,仅供参考
[解决办法]
使用硬件断点是可以的。也可以使用VirtualAlloc,设置那个地址的保护属性为PAGE_READONLY,然后捕捉写异常,在异常处理中修改属性,再写,调用ValueChanged,改回只读属性。这样做的问题在于保护属性是针对页面的,至少4KB大小吧。

[解决办法]
设置一个全局变量,开个线程一直判断是否改变

首先不知道lz是想通过什么方式去改变这个值呢

热点排行