string的size()和length()

  • Post author:
  • Post category:其他


C++标准库中的string中两者的源代码如下:

size_type   __CLR_OR_THIS_CALL   length()   const

{ //   return   length   of   sequence

return   (_Mysize);

}

size_type   __CLR_OR_THIS_CALL   size()   const

{ //   return   length   of   sequence

return   (_Mysize);

}

所以两者没有区别。

length是因为沿用C语言的习惯而保留下来的,string类最初只有length,引入STL之后,为了兼容又加入了size,它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。

string类的size()/length()方法返回的是字节数,不管是否有汉字。



版权声明:本文为caomiao2006原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。