GetBuffer()主要作用是將字符串的緩沖區長度鎖定,releaseBuffer則是解除鎖定,使得
CString對象在以后的代碼中繼續可以實現長度自適應增長的功能。
是否需要在GetBufer后面調用ReleaseBuffer(),是根據你的后面的程序是否需要繼續使用該字符串變量,并且是否動態改變其長度而定的。不是什么好地編程習慣,之類的原因。
如果你
GetBuffer以后程序自函數就退出,局部變量都不存在了,調用不掉用ReleaseBuffer沒什么意義了。
但如果你出現例如下面的代碼
CString m_strA;
m_strA=_T( "123456 ");
m_strA.
GetBuffer(6);
m_strA+=_T( "789 ");//此時就會出錯了,因為需要動態加長字符串長度