c++ string的size()函数和length()函数

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的算法。

c++ string的size()函数和length()函数

时间: 2024-10-22 00:11:57

c++ string的size()函数和length()函数的相关文章

string 中的 length函数 和size函数 返回值问题

string 中的 length函数 和 size函数 的返回值  (  还有 char [ ] 中 测量字符串的  strlen 函数 ) 应该是 unsigned int 类型的 不可以 和 -1 比较. 应尽量避免 unsigned int 类型 和 int类型 数据 的比较 .当unsigned int 类型 和 int类型 数据 比较 时 ,会 把int 类型 转换 为 unsigned int类型 .如果 int是负数 ,转换 为 unsigned int 会是 一个 很大 的正整数

C++ string的size()和length()函数没有区别

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   sequenc

调用函数时传递的实参个数arguments.length; ,函数定义时的形参个数sum.length

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>范例6-4</title>

Matlab load &amp; global 变量 &amp; length( ) 函数 &amp; msgbox( )函数

Matlab 图像处理 Day7: 1. load 变量: 作用是读取一个 .mat 文件. 2. global 变量: 意思后面声明的变量是全局变量. 3. length( ): % 一般形式为 x = length( A ): 其中A是矩阵,length( )返回的是矩阵行或列数值较大的那个 4.msgbox( ): % 根据matlab自带的帮助文档可以知道 msgbox 函数大致有5种用法,分别是: < i >.msgbox(Message): < ii >.msgbox(

函数深入理解---函数的属性length和方法call 和apply

函数同样有两个非常好用的属性:length 和prototype function fn1(){ } function fn2(num1,num2){ } function fn3(num1){ } //函数的length就表示该函数所期望的参数值 alert(fn1.length) // 0 alert(fn2.length) // 2 alert(fn3.length) // 1 call 和apply方法查可以通过函数名称来调用函数 对于apply而言 有两个参数,第一个是调用的上下文,第

C++ STL map A1071 Speech Patterns(25) (注意如何从字符串里 分割出单词,注意读取整行带空格的string 需要使用 getlint(cin,str) 函数)

#include <bits/stdc++.h> #include<math.h> #include <string> using namespace std; const int maxn = 40010;//最大学生人数 bool check(char c){ if(c >= '0' && c<= '9') return true; if(c >= 'A' && c<= 'Z') return true; if

CreateThread函数&amp;&amp;CString::GetBuffer函数

对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 DWORD WINAPI ThreadFun(LPVOID pM) { printf("子线程的线程ID号为:%d\n子线程输出Hello World\n", GetCurrentThreadId()); return 0; } //主函数,所谓主函数其实就是主线程执行的函数. int m

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate)的使用 ② 判断字符串中是否含有汉字 ③ substr和instr的联合使用 ④

自写函数VB6 STUFF函数 和 VB.net 2010 STUFF函数 详解

'*************************************************************************'**模 块 名:自写函数VB6 STUFF函数 和 VB.net 2010 STUFF函数 详解'**说    明:蓝凤凰设计商城 浴火凤凰-郭卫 | 蓝凤凰-魔灵 | 郭卫-icecept'**创 建 人:浴火凤凰-郭卫'**日    期:2015年10月10日  23:13:55'**修 改 人:浴火凤凰-郭卫'**日    期:'**描