在Qt5.12,MSVC2017的环境下,在debug条件下运行程序发生崩溃,而在release的情况下运行良好,这是比较反常的事。一般在debug的情况运行正常的,而在release下会不正常,因为release会优化程序,比如在debug下帮助初始化,而release不一定会。
后来分析程序发现在对象内部删除自己(delete this),之后由引用该指针,所以会崩溃。那么为什么release版本下不会崩溃呢?查找资料后发现,对象内部删除自己(delete this)不一定会导致崩溃,虽然大概率会出问题,可能因为debug和release处理方式不一样导致出现不同结果