我有一个代码来检查变量的条件.
有时这个变量在内存中0xfdfdfdfd,当然它不能从那里读取.
如果变量为null,我会
if(!variable)
{
//report error or skip...
}
else
{
//do stuff with the variable...
}
Run Code Online (Sandbox Code Playgroud)
但显然0xfdfdfdfd意味着有一个变量,我只是无法访问它.
有没有我可以使用的检查(比如null),所以当我无法访问它时,我不会尝试弄乱变量?
Ste*_*and 11
0xFDFDFDFD是一个用于帮助调试的神奇数字.你可以在wikipedia Magic Numbers上找到一个参考,也可以在这个SO答案和其他SO答案中找到 有用的信息:
在那里你可以看到:
FDFDFDFD由Microsoft的C/C++调试malloc()函数用于在分配的堆内存之前和之后标记"无人区域"保护字节[15]
这可能意味着您正在尝试在堆上分配的内存块之前或之后读取.
(我的第一个内心想法是认为你的变量没有被初始化,但我不知道这些神奇的数字代码)
你应该纠正这个错误!而不是像你想要的那样避免它.
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |