CString.ReleaseBuffer()这个函数名字真失败!
2009-05-25 11:15
393 查看
每次看到别人的代码里面的这个函数就感觉心里怪怪的,心里没谱。
这个一个典型的 接口命名失败的 案例!这样的接口让人费解,更会导致误用!
事实上,ReleaseBuffer()完成的功能是,重新计算内部缓冲区里字符串的长度。仅仅改变内部的一个成员变量,并不是真正的ReleaseBuffer。
以下是源码:
void ReleaseBuffer( __in int nNewLength = -1 )
{
if( nNewLength == -1 )
{
nNewLength = StringLength( m_pszData );
}
SetLength( nNewLength );
}
该函数更名为:UpdateStringLength()最合适!
这个一个典型的 接口命名失败的 案例!这样的接口让人费解,更会导致误用!
事实上,ReleaseBuffer()完成的功能是,重新计算内部缓冲区里字符串的长度。仅仅改变内部的一个成员变量,并不是真正的ReleaseBuffer。
以下是源码:
void ReleaseBuffer( __in int nNewLength = -1 )
{
if( nNewLength == -1 )
{
nNewLength = StringLength( m_pszData );
}
SetLength( nNewLength );
}
该函数更名为:UpdateStringLength()最合适!
相关文章推荐
- CString::GetBuffer(int nMinBufLength);CString::ReleaseBuffer(int nNewLength)
- MFC CString GetBuffer ReleaseBuffer方法
- CString::GetBuffer/ReleaseBuffer 技术内幕
- MFC 解决因名字改变造成的函数名称不对应而调用失败的方法
- Getbuffer ReleaseBuffer Cstring
- CString GetBuffer() 与releasebuffer()的使用
- CString GetBuffer()和ReleaseBuffer()分析
- MFC CString GetBuffer/ReleaseBuffer 的使用条件
- CString 中的getbuffer ReleaseBuffer
- LR 解压缩函数(wgzMemDecompressBuffer)失败 Code=-5
- CString.Format调用失败另一例(buffer too small vsprintf.c Line:244)
- CString中的GetBuffer()和ReleaseBuffer()
- 精解CString类的GetBuffer,ReleaseBuffer 函数(VC++)
- 52840 I2S总结 err_code = nrf_drv_i2s_start(m_buffer_rx, m_buffer_tx, I2S_BUFFER_SIZE, 0); 这个函数用于开启I2S
- CString GetBuffer() and ReleaseBuffer()
- CString::GetBuffer() 不一定要ReleaseBuffer()
- CString之GetBuffer/ReleaseBuffer的使用
- CString GetBuffer() and ReleaseBuffer()
- CString:Getbuffer和Releasebuffer的作用
- CString:Getbuffer和Releasebuffer的作用