string的empty,size,length等比较

 1 #include<iostream>
 2 #include<string>
 3
 4 using namespace std;
 5
 6 void Display(const string& str)
 7 {
 8     cout<<"String: "<<str<<endl;
 9     cout<<"Empty: "<<str.empty()<<endl;
10     cout<<"Size: "<<str.size()<<endl;
11     cout<<"Length: "<<str.length()<<endl;
12     cout<<"Capacity: "<<str.capacity()<<endl;
13     cout<<"Maxsize: "<<str.max_size()<<endl;
14     cout<<endl;
15 }
16
17
18 int _tmain(int argc, _TCHAR* argv[])
19 {
20     string s1="";  //无字节
21     Display(s1);
22
23     string s2="  ";  //两个空子节
24     Display(s2);
25
26     string s3="123456";
27     Display(s3);
28
29     string s4="123 456 asd";
30     Display(s4);
31
32    /* s3.resize(23);
33     Display(s3);*/
34
35     system("pause");
36     return 0;
37 }

结果截图

但成员函数empty()用来检验字符数是否为0,亦即字符串是否为空时比length()或size()来得快。

时间: 2024-10-25 12:50:10

string的empty,size,length等比较的相关文章

String构造器中originalValue.length&gt;size 发生的情况

建立map的方式(其实用的是json实现方式) var a = {}; a["key1"] = "value1"; a["key2"] = "value2"; 既然是个map就有检索某个键是否存在的方法,这样写 if ("key1" in a) { // something } else { // something else } 简单的一句话声明map里面的key和value的方式: var a = {'

java中的size,length,length()的区别

java中的size,length,length()的区别 一.size() java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性 二.length() java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法 三.length java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看! 四.例子 public class TEST

STL:string 大小(Size)和容量(Capacity)

strings存在三种“大小”: 1.size()和length() 返回string中现在的字符个数.上述两个函数等效. 成员函数empty()用来检验字符数是否为0,亦即字符串是否为空.你应该优先使用该函数,因为它比length()或size()来得快. 也就是说,使用if(s.empty() == true)而不使用if(s.size() == 0)(笔者注) 2.max_size() 此函数返回一个string最多能够包含的字符数.一个string通常包含一块单独内存区块内的所有字符,所

length/size()/length()

1. length属性是针对Java中的数组来说的,要求数组的长度可以用其length属性: 2.length()方法是针对字符串来说的,要求一个字符串的长度就要用到它的length()方法: 3. java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看 public static void main(String[] args) { String[] list = {"bo", "ke", "yuan"

string、Empty和null三者的区别

这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得都是不求甚解,有一些还是在误导别人.下面我来说下我对这三者的理解,如有错误的地方请大家及时指正. 一:""与string.Empty我认为是一样的.网上有一篇被转载了几十遍的文章是这样说的string.Empty 不分配存储空间,"" 分配一个长度为空的存储空间,我认为这句话是错误并且含糊不清的. 1.实际上Empty是string类中的一个静态的只读字段,他的定义是这样的: public stat

matlab中的size(),length(),ndims()函数的用法

1.size()用法: size(a)表示矩阵每个维度的长度 比如size([1 2 3;4 5 6]) 等于[2 3]: 表示他有2行3列. size([1 2 3]) 等于[1 3]: 表示他有1行3列: 另外size(a,n)表示矩阵a在第n个维度下的长度. 比如size([1 2 3;4 5 6],1) 等于2,表示有2行 size([1 2 3;4 5 6],2) 等于3,表示有3列 2.length()用法: length(a)表示矩阵a的最大的长度,即max(size(a)) 比如

Matlab当中size() length()等函数讲解

在Matlab中: size:获取数组的行数和列数 length:数组长度(即行数或列数中的较大值) numel:元素总数. s=size(A): 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数. [r,c]=size(A):当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量. 如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数. 其中r=size(A,1

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

sizeof/strlen/length

1.sizeof() sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数等. 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小. 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小.实际上,用sizeof来返回类型以及静态分配的对象.结构或数组所占的空间,返回值跟对象.结构.数组所存储的内容没有关系. 具体而言,当参数分别如下时,sizeof返回的值表示的含义如下: 数组—