您的位置:首页 > Web前端

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()最合适!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: