正如前面问题的答案所指出的,未初始化的变量可能具有不确定的值。有没有办法指定这个不确定的数据,比如说,重复0xDEADDEAD
?不确定的数据显然是特定于编译器的,但将其强制为易于识别的东西总是很好的。
是否有现有的内存泄漏/损坏检测库允许这样做?在某些情况下,重载new
似乎是一种解决方案,但我不想自己深入研究这个诡计。
问题是不确定的值通常会导致代码的未定义行为,并且很少发生运行时错误,因此,例如,我想发现我是否忘记了memset()
代码中的某个地方。也许甚至将不确定的值随机化也可以作为测试平台。
如果这是不可能的,是否有更好的方法来解决问题?