众所周知,Visual C++运行时标记未初始化或刚刚释放的具有特殊非零标记的内存块.有没有办法完全禁用此行为,而无需手动将所有未初始化的内存设置为零?这是因为我的有效非空检查造成了破坏0xFEEEFEEE != 0.
嗯,也许我应该更好地解释一下.我创建并初始化一个变量(通过new),一切都很好.当我释放它(通过删除)时,它将指针设置为0xFEEEFEEE而不是NULL.当我插入一个适当的检查NULL,因为所有管理自己的内存的好程序应该,我提出问题,因为0xFEEEFEEE通过NULL检查没有问题.有没有什么好的方法,除了NULL在删除它们时手动设置所有指针,以检测何时已释放内存?我宁愿不使用Boost只是因为我不想要开销,虽然它可能很小,因为这是我唯一使用Boost的东西.
我有一个Bitmap,我想要一个资源ID(比如R.drawable.whatever),而不是传递给Notification(出于兼容性原因我被困在api级别8).这可能吗?我怀疑没有,但我想在放弃之前确定.