引言

string 和vector的区别:
string: 支持可变长字符串
vector: 支持可变长集合
迭代器 :用于访问string 和vector的配套类型(帮手),用于访问string中的字符 或 vector中的元素

标准库类型string

头文件: #include <string>

定义和初始化string对象

string s1; //默认初始化,s1是空串

string s2(s1);
string s2 = s1;

string s3("value");
string s3 = "value";

string s4(number,'c'); //string s4(10,'c');
拷贝初始化(copy initialization)
使用符号 ( = ),编译器把等号右侧的初始值拷贝到新创建的对象中
string s2 = s1;
string s3 = "value";
直接初始化(directinitialization)
当要初始化的值有多个时,一般来说只能使用直接初始化
string s2(s1);
string s3("value");
string s4(10,'c'); 
借助临时对象,多个对象的拷贝初始化
string s8 = string(10,'c');

等价于

string temp(10,'c');
string s8 = temp;

string 整体操作

图片.png

读写string对象

读写单个string对象
可以使用iostream中的IO操作符读写string
string s;
cin >> s;
cout << s;
注意事项:
如果输入的是" hello world! "
则输出将是"hello",输出结果中没有任何空格
string s,s2;
cin >> s >> s2;
cout << s << s2 <<endl;
in:hello world
out:helloworld
读写未知数量的string对象
while:如果流有效,则会执行while语句内部操作
string word;
    while(cin>>word){
        cout<<word<<endl;
    } 
    return 0;
hello
hello
mylady
mylady
what
what
    cout<<word<<" ";
hello
hello what
what is
is your
your

Akuaner
7 声望3 粉丝