C++ Visual Studio c++;初始化后,指针不为空
我使用列表中的地址来确保快速访问我的实例。 在构造函数中,我用C++ Visual Studio c++;初始化后,指针不为空,c++,visual-studio,C++,Visual Studio,我使用列表中的地址来确保快速访问我的实例。 在构造函数中,我用NULL初始化每个地址。但是,在任何人设置地址之前进行查询时(除非构造函数将其设置为NULL),此时0x0000000000或0xdddddddd都在指针中 0xdddddddddd从哪里来?我有一份工作 发现以下内容: 0xdddddd:由Microsoft的C++调试堆用于标记已释放的堆内存 但我不明白,我将指针全部设置为NULL?您可能处于调试模式。所有未正确初始化的变量都被初始化为一些易于识别的值,使用时可能会立即导致崩溃
NULL
初始化每个地址。但是,在任何人设置地址之前进行查询时(除非构造函数将其设置为NULL
),此时0x0000000000
或0xdddddddd
都在指针中
0xdddddddddd
从哪里来?我有一份工作
发现以下内容:
:由Microsoft的C++调试堆用于标记已释放的堆内存0xdddddd
但我不明白,我将指针全部设置为
NULL
?您可能处于调试模式。所有未正确初始化的变量都被初始化为一些易于识别的值,使用时可能会立即导致崩溃
您需要将原始指针显式初始化为null。问题在于您的代码。没有代码,没有人能回答这个问题。在调试模式下,0xDD是死内存,即“已通过删除或释放释放的内存。它用于检测通过悬空指针的写入”。它将在您调用delete或free时设置。请参见“请显示一个可能不是原因”,未初始化的内存会被
CC
或CD
填满,具体取决于它是堆还是堆栈<代码>DD表示已删除的内存