static要慎用
在一个CDialog中有N个按钮,需要在初始化时设置图片及位置。
于是在初始化中创建了一个静态数组来轮循。大致如下
static const struct { CButton* pButton; } items[] = { //用按钮初始化。 }
这样会出现一个问题,当这个对话框delete时,静态变量中保存的仍然是上一个指针,导致后面创建对话框时出错。
因此要注意static的使用,确保static中的变量是不会变化的。
在一个CDialog中有N个按钮,需要在初始化时设置图片及位置。
于是在初始化中创建了一个静态数组来轮循。大致如下
static const struct { CButton* pButton; } items[] = { //用按钮初始化。 }
这样会出现一个问题,当这个对话框delete时,静态变量中保存的仍然是上一个指针,导致后面创建对话框时出错。
因此要注意static的使用,确保static中的变量是不会变化的。