观察成员变量值的变化
Observing change in value of member variable
我想收到有关修改某些类成员变量(可能是原始的或用户定义的)的通知。
谁能告诉我如何实现这一目标。
谢谢
对我的问题再澄清一下:
我有这样的场景
我有现有的菜单和菜单项。现在我把所有这些菜单项放在工具栏上。由于当这些菜单项位于菜单项中时,我得到了事件ON_UPDATE_COMMAND_UI,我在其中调用函数并更新菜单项状态。
但是现在对于工具栏,我必须每次都放置用于检查状态的功能,变量(数量很多,并且在许多状态下也会被修改,我无法控制)。
任何人都可以在不更改现有代码的情况下向我建议一些好的替代方案,因为它非常脆弱。
有什么方法可以从语言/编译器获取一些变量更改通知,例如 Watch 变量在 Visual Studio 调试器中的工作方式。
既然你提到了通知(表示异步接收暗示),你需要的是一个:
观察器设计模式
您可以使变量private
并通过公开可用的getter/setter
方法访问它。将打印或您的自定义断言放入这些 getter/setter 中。
例如:
class A {
private:
int x;
public:
int getx () const { /* your code */ ; return x; }
void setx (const int i) { /* your code */; x = i; }
};
我建议你实现观察者模式。
相关文章:
- 使用变量值作为 PlaySound 中的路径
- 通过指针偏移量访问结构变量值
- 变量值在 C++ 中的 glutIdleFunc() 中未递增
- 更新 #ifdef 中的现有变量值?
- 尝试更改 main 函数内的全局变量值时出现编译错误 C++.
- 通过 Rcpp 和 bit64 R 包将最大的int64_t变量值从 C++ 传递到 R
- 如何使用 IRBuilder 更新 LLVM IR 中的全局变量值?
- 更改已在运行的程序的变量值
- 在 Xcode 中使用后对外部变量值进行初始化
- C++整数变量值
- 变量值,在三元运算符之后
- 如何获得对不同类的引用,以便从所述类内部获得变量值
- 增强精神:解析char_,随着局部变量值的变化
- Arduino-枚举变量值本身发生变化
- 全局变量值没有变化
- 观察成员变量值的变化
- C++ 成员变量值根据是否打印出来而变化
- 变量值自身变化
- 助推精神在语义作用中变化变量值
- 循环后变量值突然发生变化