Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用唯一指针的内存泄漏_C++_Memory Leaks_Unique Ptr - Fatal编程技术网

C++ 使用唯一指针的内存泄漏

C++ 使用唯一指针的内存泄漏,c++,memory-leaks,unique-ptr,C++,Memory Leaks,Unique Ptr,我创建了一个唯一指针数组 std::unique_ptr<TextItem> mTextItems[6]; 在VisualStudio的输出窗口中,我总是收到一条指向item.reset行的内存泄漏消息6次 : {208} normal block at 0x0A35AC48, 52 bytes long. Data: < $? PT i > C4 24 3F 00 00 00 00 00 50 54 C9 00 90 69 C9 00 :{208}

我创建了一个唯一指针数组

std::unique_ptr<TextItem> mTextItems[6];
在VisualStudio的输出窗口中,我总是收到一条指向item.reset行的内存泄漏消息6次

: {208} normal block at 0x0A35AC48, 52 bytes long.
 Data: < $?     PT   i  > C4 24 3F 00 00 00 00 00 50 54 C9 00 90 69 C9 00 
:{208}0x0A35AC48处的正常块,52字节长。
数据:<$?PT i>C4 24 3F 00 00 00 50 54 C9 00 90 69 C9 00
我对精灵有一个类似的方法,在那里它也发生了


这是我第一次使用智能指针,所以我真的不知道如何正确地清理它。

很怀疑显示的管线是否是导致泄漏的原因。您是如何将泄漏缩小到这些行的?我也使用此链接来编写内存泄漏的行。如果使用:
item=std::make_unique(“,mFont->gettf(),mWindow->GetRenderer()”),还会发生这种情况吗
你确定包含
mTextItems
的对象本身被正确销毁了吗?@Frank-好建议。当然,如果用int而不是TextItem运行代码,就不会有泄漏。
: {208} normal block at 0x0A35AC48, 52 bytes long.
 Data: < $?     PT   i  > C4 24 3F 00 00 00 00 00 50 54 C9 00 90 69 C9 00