首页 > 其他分享 >string 中 length和size的区别

string 中 length和size的区别

时间:2022-08-22 15:57:50浏览次数:82  
标签:return string bytes length characters size

先说结论: 没有区别

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

源代码:

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);
  }

C++中对length的解释

Return length of string
Returns the length of the string, in terms of bytes.
This is the number of actual bytes that conform the contents of the string, which is not necessarily equal to its storage capacity.
Note that string objects handle bytes without knowledge of the encoding that may eventually be used to encode the characters it contains. Therefore, the value returned may not correspond to the actual number of encoded characters in sequences of multi-byte or variable-length characters (such as UTF-8).
Both string::size and string::length are synonyms and return the same value.

C++中对size的解释

Return length of string
Returns the length of the string, in terms of bytes.
This is the number of actual bytes that conform the contents of the string, which is not necessarily equal to its storage capacity.
Note that string objects handle bytes without knowledge of the encoding that may eventually be used to encode the characters it contains. Therefore, the value returned may not correspond to the actual number of encoded characters in sequences of multi-byte or variable-length characters (such as UTF-8).
Both string::size and string::length are synonyms and return the exact same value.

标签:return,string,bytes,length,characters,size
From: https://www.cnblogs.com/happinesspills/p/16613016.html

相关文章

  • cf1718 B Fibonacci Strings
    solution当ai为Fib数的时候,他一定在串中是全部连续的,不然就g,因为把他分解成小的Fib数必定连续。一个数字不能拆成两个连续的fib数。\(f_i=\sum_{j=1}^{i-2}f_j+1\)考虑......
  • Jedis快速入门和Jedis操作string
    Java客户端JedisJedis:一款java操作redis数据库的工具使用步骤:下载jedis的jar包使用<!--https://mvnrepository.com/artifact/redis.clients/jedis-->......
  • String类
    String类概述特点字符串不变:字符串的值在创建后不能被更改。[[值传递和引用传递#String类型|String类引用传递]]packagecom.zhou.day0822;//String类......
  • 702-search-in-a-sorted-array-of-unknown-size
    Givenanintegerarraysortedinascendingorder,writeafunctiontosearchtargetinnums.Iftargetexists,thenreturnitsindex,otherwisereturn-1.However,t......
  • Java中String和byte类型互相转换
    1、string转byte[]StringinStr="helloworld";byte[]bytes=inStr.getBytes(StandardCharsets.UTF_8); 2、byte[]转stringStringoutSrt=newString(by......
  • redis数据结构介绍和redis命令操作_string&hash
    redis的数据结构redis存储的是:key,value格式的数据,其中key都是字符串,value有物种不同的数据结构value的数据结构:字符串类型string哈希类型hash:map格式列表类型......
  • python-f字符串(f-string)99乘法表三种方式
    #%s打印99乘法表foriinrange(1,10):forjinrange(1,i+1):print("%s*%s=%s"%(j,i,j*i),end="")print("\n")#format打印九九乘法表foriinrange(1,......
  • Time Needed to Rearrange a Binary String
    TimeNeededtoRearrangeaBinaryStringYouaregivenabinarystring$s$.Inonesecond,alloccurrencesof 01 aresimultaneouslyreplacedwith 10 .This......
  • Jedis快速入门和操作string
    Jedis快速入门Jedis:一款java操作redis数据库的工具使用步骤:1、下载jedis的jar包2、使用/***jedis的测试类*/publicclassJedisTest{/**......
  • Jedis快速入门和Jedis操作string
    Jedis快速入门Jedis:是一款java操作redis数据库的工具使用步骤:1.下载Jedis的jar包2.使用这两个jar包导入项目中 编写一个测试类JedisTest:/***Jedis的......