成员变量与临时变量
错误的实例:
1、临时变量
在使用Duilib::CRichEditUI::SetText时,在底层的某个线程中不断回调需要展示的内容。在调用SetText之前,将需要展示的内容放在一个临时变量str中。当程序运行时会偶尔崩溃,并提示访问冲突。如下图所示:
查资料说0xC0000005的错误一般是指针错误导致的。于是将临时变量str改成成员变量m_str,就没有出现这个中断了。
2、成员变量
在使用sqlite3数据库时,使用Select进行查找时出现崩溃,截图如下:
后来发现,是成员变量m_list在多个地方被调用(有的地方清空,有的地方追加) 。导致在最后赋值的时候出现如上图所示的崩溃。后来将成员变量删除,全部使用临时变量,这个断言错误就没有再出现。