美文网首页
[基础]C++:string和vector(1)

[基础]C++:string和vector(1)

作者: 离群土拨鼠 | 来源:发表于2019-03-18 23:30 被阅读0次

内置数组是一种更基础的类型,string和vector都是对它的某种抽象。

  • string表示可变长的字符序列。
  • vector表示存放给定类型的可变长度。

命名空间的using声明

形式如:using namespace::name;

定义和初始化string对象

初始化操作
#include<iostream>
using std::string;
int main()
{
    string s1;//默认初始化
    string s2(s1);//s2是s1的副本(直接初始化)
    string s3("value");//将value字面值除了空字符外都给了s3
    string s3 = "value";//和上面的一样(用了等于号,是拷贝初始化)
    string s4(10, 'c');//内容为10个C(直接初始化)
    system("pause");//
    return 0;
}

string对象上的操作

string的操作
os<<s 将s写入输出流os种,返回os
is>>s 读取字符串赋给s,以空白分割
getline(is,s) 从is中读取一行赋给s,返回is
s.empty() s为空时返回true,否则返回false
s.size() 返回s中字符的个数
s[n] 返回s中第n个字符的引用,n从0开始
s1+s2 返回s1和s2连接后的结果
s1==s2 是否相等
s1!=s2 等性判断对字母大小写敏感
<, <=, >, >= 利用字符在字典中的顺序进行比较,且对字母的大小写敏感

读写string

  • 会自动忽略开头空白(空格,换行,制表符)
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s;
    cin >> s;
    cout << s << endl;
    system("pause");
    return 0;
}

写入未知个数操作

  • cin会将空格断开
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s;
    while (cin >> s)
        cout << s << endl;

    system("pause");
    return 0;
}

使用getline读取一整行

  • 在读入的字符串中保留空格,直到遇到换行符为止
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s;
    while (getline(cin,s)) //可以读入空格
        cout << s << endl;
    system("pause");
    return 0;
}

string的比较

  • (1)比较时长度不同,但是短的和长的对应位置相同,短的小于长的。
  • (2)比较时对应位置不一样,对应位置的字符比较大小。
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s1 = "hello";
    string s2 = "hello ss";
    string s3 = "hi";
    system("pause");
    return 0;
}

  • s3 > s2 > s1

string的相加

  • 字面值不能相加
  • 必须有string对象的参与
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s1 = "hello"+","; //错误,没有包含string
    string s2 = "hello ss"+s1; //正确
    string s3 = "hi"+s2+"<";//正确
    string s4 = "hello" + ","+s1;//前两个没有包含string
    system("pause");
    return 0;
}

参考:C++primer 第五版

相关文章

  • [基础]C++:string和vector(1)

    内置数组是一种更基础的类型,string和vector都是对它的某种抽象。 string表示可变长的字符序列。 v...

  • [基础]C++:string和vector(2)

    处理string对象的字符 有时候我们常常要对string字符中的每一个字符操作,那么怎么对每个字符进行操作呢?这...

  • C++系列 --- string类型介绍

    一、前言 int,float,char,C++标准库提供的类型:string,vector。 string:可变长...

  • C++STL整理

    C++ STL中最基本以及最常用的类或容器string、vector、set、list、map string 处理...

  • C++ Primer: String, Vector and A

    1. String 处理字符串 cctype 处理每个字符 for-range 语句 for-range 改变字符...

  • STL学习笔记之容器(二)

    vector和string 所有的STL容器都很有用,但是相比于其他容器,vector和string更常用。本章从...

  • Effective STL 学习笔记 —— Part 2.vec

    第二章. vector和string 条款13.vector和string优先于动态分配的数组 使用new来动态分...

  • string

    string提供字符串的功能,使用时需要引入头文件 ,string和vector类似,vector是对数组的...

  • C++字符串、向量和数组

    主要介绍两种最重要的标准库类型:string和vector。string表示可变长的字符序列。vector存放的是...

  • string的用法

    1、使用string头文件 要想使用标准C++中string类,必须要包含: 或者 string和wstring的...

网友评论

      本文标题:[基础]C++:string和vector(1)

      本文链接:https://www.haomeiwen.com/subject/lnvbmqtx.html