m_pBuf1 = (PBYTE)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 100);ASSERT(!m_pBuf1);
if(m_pBuf1)
HeapFree(GetProcessHeap(), 0, m_pBuf1);ASSERT(!m_pBuf1);运行后发现,m_pBuf1不为NULL,这样会不会有设计上的隐患,比如说我HeapFree了这个指针,然后又在另一个地方判断if(!m_pBuf1),这时m_pBuf1已经被销掉了,但判断语句却会得出错误的结论来。
if(m_pBuf1)
HeapFree(GetProcessHeap(), 0, m_pBuf1);ASSERT(!m_pBuf1);运行后发现,m_pBuf1不为NULL,这样会不会有设计上的隐患,比如说我HeapFree了这个指针,然后又在另一个地方判断if(!m_pBuf1),这时m_pBuf1已经被销掉了,但判断语句却会得出错误的结论来。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货