学习C++primer心得08.5.31--有关string类

float 只能保证六位有效数字

 

string 类型支持长度可变的字符串,vector 可用于保存一组指定类型的对象。bitset 类。通过这个类可以把某个值当作们的集合来处理。

using std::cin;

using namespace std;

string s1;

Default constructor; s1 is the empty string默认构造函数 s1 为空串

string s2(s1);

Initialize s2 as a copy of s1 s2 初始化为 s1 的一个副本

string s3("value");

Initialize s3 as a copy of the string literal s3 初始化为一个字符串字面值副本

string s4(n,'c');

Initialize s4 with n copies of the character 'c' s4 初始化为字符 'c'  n 个副本

getline 函数从输入流的下一行读取,并保存读取的内容到不包括换行符。

Zz http://hi.baidu.com/s0746/blog/item/ 308048c 46a 5f 47ad8226acdd.html

#include <string>

using namespace std;

void main(void)

{

    string st ;

    cout<<"Input st:";

    getline(cin,st);

    cout<<st<<endl;

}

上面这段代码,如果输入abc,那么需要按两次回车键才能显示abc(在VC6中),因为getline有三个参数,第三个参数是字符串的结束符,也就是当getline遇到这个结束符时,就不在接受输入了,比如写成 getline(cin,st,'s');

即使输入的是abcsabc 那么也只会显示 abc ,因此对于上面出现的情况,有人说getline默认情况下以回车('/n')作为结束符,第一次按回车表示字符串结束,第二次按回车才开始输出。也有人说这是VC6bug,我觉得前一种解释比较合理,因为: 如果你输入abc(回车)abc,那么程序会显示abc,可见回车的确是函数默认的结束符。

cin.get()第一个用法,是读入一个字符。

String::size 操作返回的是 string::size_type 类型的值。

两个 string 对象相等是指它们的长度相同,且含有相同的字符。

赋值操作确实需要做一些工作。它必须先把 st1 占用的相关内存释放掉,然后再分配给 st2 足够存放 st2 副本的内存空间,最后把 st2 中的所有字符复制到新分配的内存空间。

string 对象的下标从 0 开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值