• C++ Primer 第三章 标准库类型string运算


    1. 标准库类型 string

    string表示可变长的字符序列,使用string必须首先包含string头文件。如何初始化类的对象是由类本身决定的。

    1     int n;
    2     string s1;//默认初始化,s1是空字符串
    3     string s2(s1);//s2是s1的副本,等价于string s2 = s1;
    4     string s3("value");//s3是字面值"value"的副本,除了字面值后面的那个空字符外,等价于string s3 = "value";
    5     string s4(n,'c');//把s4初始化为连续n个字符c组成的串;即s4=cccccccc(n个c);

     2.读写string对象

      2.1 读取string操作,string对象会自动忽略开头的空白(即空格符、换行符、制表符等)并从第一个真正的字符开始读起,直到遇见下一处空白为止。

    1     string s;
    2     cin >> s;
    3     cout <<"输出内容"<< s << endl;
    4     system("pause");

    2.2 有时希望能在最终得到的字符串中保留输入时的空白符,则getline代替原来的>>可以实现;

    1     string line;
    2     while(getline(cin,line))
    3         cout<<"输出内容"<<line<<endl;
    4     system("pause");

    3.string对象相加

    PS:两个string对象可直接相加,string和字符字面值及字符串字面值一条语句中使用时,必须确保每个加法运算符(+)的两侧运算对象至少有一个是string对象。

     1     string st1 = "hello,",st2 = "world!";
     2     string st3 = st1+st2;
     3     cout<<"st3的字面值为"<<st3<<endl;
     4 
     5     string st4 = "hello";
     6     string st5 = st4+','+st2;
     7     cout <<"st5字面值为"<<st5<<endl;
     8 
     9     string st6 = st4+","+"world";//正确 st4是string对象,st4+","还是string对象
    10     cout << "st6字面值为"<<st6<<endl;
    11     //string st7 = "hello"+","+st4;//错误"hello"和","都不是string对象
    12     system("pause");

  • 相关阅读:
    [Gym
    [Codeforces995C]Leaving the Bar 瞎搞
    [hdu3685]Rotational Painting 凸包 重心
    [hdu5251]矩形面积 旋转卡壳求最小矩形覆盖
    [hdu4667]Building Fence 计算几何 瞎瘠薄搞
    [hdu3934] 凸包 旋转卡壳
    [Codeforces50C]Happy Farm 5 凸包
    [Codeforces166B]Polygons 凸包
    mex(线段树+离散化)
    CF798D 糖果(思维题)
  • 原文地址:https://www.cnblogs.com/ggYYa/p/5709076.html
Copyright © 2020-2023  润新知