C++primer(5th)第三章总结(string)

对String类型

  1. 定义:string s1
  2. string对象初始化:page76
    a.默认初始化:
string s;//si默认空串

b.拷贝初始化:

string s2="value";
string s2=s1;

c.直接初始化:

string s3("value");
string s4(s3);
string s4(10,'c');
string s4; s4("value");
//拷贝初始化与直接初始化的区别在于:拷贝初始化有等号。

  1. string对象赋值:page80
    string s1(10,’c’), s2;
    s1=s2;
    *注:如果是s2=s1;则是初始化。
    因为初始化的定义是原先没有值,然后最初给一个值,而赋值是原先有一个值,然后把这个值抹掉,重新给它一个值。*

  2. string对象的相加:
    string+string;
    string=string+字符字面值/字符串字面值(每个“+”两边都 至少有一个string)
    比如s6=s1+”hello”+”,” 错误
    s6=”hello”+s1+”,” 正确
    (!!!是“+”号不是”=“)

  3. string对象的读写:cin>>String ,string对象会自动忽略前面的空白,从第一个有效字符读起,直至遇到下一个空白

    A. for范围主要两种用途有:遍历string对象内元素、改变string中字符

    (1)遍历string对象内元素:

string s1="hhhhhhh"
    for (auto c : s1)
    std::cout <<c << std::endl;

(2)改变string中字符:

string s1="hhhhhhh"
    for (auto &c : s1)
    c=toupper(c);
    std::cout <<c << std::endl;

(!!!注意:此处&c为引用,之所以改变string中字符时要用&c,而不会是c, 是因为auto c 中c相当于副本,只有用&c才能改变string字符中值。)
B.下标:
为保证下标总在合理范围:总是设下标的类型为string::size_type

sting s1="value"
string::size_type n;
while (cin>>n)
if(n<s1.size())
cout<<s1[n];

C.迭代器(暂定)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值