我使用的Xerces-C++我似乎並沒有真正得到使用XMLString::release (XMLCh ** buf)
所以現在我每次使用它,我想重新使用局部變量是這樣的:使用了XmlString ::釋放(XMLCh ** BUF)的
XMLCh* xmlStringVar = XMLString::Transcode("name");
XMLCh* fieldName = fieldsNodeList[NbreFlds]->getAttribute(xmlStringVar));
XMLString::release(&xmlStringVar);
xmlStringVar = XMLString::Transcode("id");
XMLCh* fieldId = fieldsNodeList[NbreFlds]->getAttribute(xmlStringVar));
請糾正我這個代碼,如果事情是錯誤的,如果你得到了功能XMLString::release
更清楚的說明,請通知我。
這怎麼可能!一旦MemoryManager :: deallocate被啓動,變量就不存在了,它已經被刪除了,所以在刪除變量後它又是如何將變量變爲空指針的! – Glolita 2012-03-26 14:22:18
實際上,指針**指向的**內存空間被刪除,而不是指針本身。刪除之後,指針變成一個懸掛指針,這意味着它指向一個無效的內存位置。爲了防止訪問無效內存,最好將懸掛指針分配給null。 – xaero99 2012-03-26 18:34:09
好的,現在看起來很合理!非常感謝,這真的很有幫助。 – Glolita 2012-03-27 10:08:43