游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1559|回复: 1

需要一个模式监视任意变量的改变

[复制链接]

18

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2009-6-30 11:33:00 | 显示全部楼层 |阅读模式
template < typename T >
class WATCH{
private:
char* m_name;
T m_obj;
public:
    void onChanged( void ){}
};


struct nameInfo
{
char name[30];
}

WATCH < int > s1;
WATCH < struct nameInfo > s2;
WATCH < char*> s3;

我需要一个好的模式, 让使用者在使用时尽量感觉不到WATCH的存在
例如赋值和获取
s1 = 1;
strcpy( s2.name , "name" );
lps = new char[30];
s3 = lps;

一旦他们的值有所改变  WATCH:nChanged就应该收到通知
当然上面的赋值写法这只是一个设想(如果可以我需要这样的友好方式), 有什么好的方法吗?

6

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2009-6-30 18:24:00 | 显示全部楼层

Re:需要一个模式监视任意变量的改变

这样做要重载几乎所有的操作符吧,而且如果加减乘除都要通知的话,那效率岂不是要掉下很多
不过我也没啥好办法,呵呵
不过如果肯用内存来换的话,可以把要监视的变量放到一个表里,做一个备份,定时比较,发现不对就通知
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-19 21:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表