先说结论:没有区别 length()是因为沿用C语言的习惯而保留下来的。 string类最初只有length(),引入STL之后,为了兼容又加入了size(),它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。 源代码: size_type __CLR_OR_THIS_CALLlength()const{// return length of sequencereturn(_Mysize);...
等于begin()到end()之间的距离.length()是考虑到传统C函数strlen而对应设置的,而size()是考虑到string...
唯一区别:身份区别 length()代替传统的C字符串,所以针对C中的strlen,给出相应的函数length()。另一个身份是可以用作STL容器,所以按照STL容器的惯例给出size()。C++中string成员函数length()等同于size(),功能没有区别。C++标准库中的string中两者的源代码如下:size_type __CLR_OR_THIS_CALL ...
所以两者没有区别。 length是因为沿用C语言的习惯而保留下来的,string类最初只有length,引入STL之后,为了兼容又加入了size,它是作为STL容器的属性存在的,便于符合STL的接口规则,以便用于STL的算法。 string类的size()/length()方法返回的是字节数,不管是否有汉字。
1.length属性是针对Java中的数组来说的,要求数组的长度可以用其length属性;2.length()方法是针对字符串来说的,要求一个字符串的长度就要用到它的length()方法;3.java中的size()方法是针对泛型集合说的 上面的是我百度的 数组int[] a={1,1}他的length是2 List<String> list = new ArrayList...
strTest+=buf; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 以上内容参考:链接 对于.length()和.size(),其实是没有区别的,是因为容器都含有.size()方法,但是对于string类来说,.length()更加直观,所以新加了这个函数,但是其实他俩相当于是同义词。
size()、length()是c++中string的类的方法,只有string类的对象才可以用该方法,而字符串数组不可用,而strlen、strcpy等源于C语言的字符串处理函数库,需要include<string.h>,同时也只有字符串数组才可以用size()与length()完全等同,遇到空字符不会被截断,可以返回字符串
没区别,效果一样,一个用于之前,一个用于STL 中。。
length()是考虑到传统C函数strlen而对应设置的,而size()是考虑到string作为一个STL容器,应该具有的...