在CString to char*中,必须在ReleaseBuffer()
之后使用GetBuffer()
。但为什么?如果在ReleaseBuffer()
之后不使用GetBuffer()
会发生什么?
有人可以举个例子吗?谢谢。
最佳答案
我不确定这是否会导致内存泄漏,但是您必须调用ReleaseBuffer
以确保CString
的私有(private)成员已更新。例如,ReleaseBuffer
将通过查找终止的CString
字符来更新null
的长度字段。
在CString to char*中,必须在ReleaseBuffer()
之后使用GetBuffer()
。但为什么?如果在ReleaseBuffer()
之后不使用GetBuffer()
会发生什么?
有人可以举个例子吗?谢谢。
最佳答案
我不确定这是否会导致内存泄漏,但是您必须调用ReleaseBuffer
以确保CString
的私有(private)成员已更新。例如,ReleaseBuffer
将通过查找终止的CString
字符来更新null
的长度字段。