string的对象构造(初始化)
string类对象的常见构造
代码段如下:
运行结果:
string类对象的容量操作
什么叫容量操作呢?就是对string的大小进行操作,比如访问,缩减,增加等,这里选取最常用的接口进行讲解,主要如下:
1.size()和capacity()
文档的定义如下:size_t size() const和size_t capacity() const;
测试结果如下:
2. empty()和clear();
文档的定义如下:bool empty() const和void clear();
代码段:
运行结果:
这里需要注意的是clear清空的是s1中的内容,而s1的capacity并没有发生变化。
3.resize()
文档中有这两个定义void resize (size_t n);void resize (size_t n, char c);,到底是什么意思呢?
- 当n小于原来的字符串大小时候,那么resize就相当于变成
void resize (size_t n);
,即只会缩短到n长度 - 当n大于原来的字符串大小时候,那么resize就相当于变成
void resize (size_t n, char c = '\0');
,即多出来的部分,用c初始化
注意!上面说的分情况是指可以这样理解,并不是真的变成这样了,只是为了把官方文档的所有功能进行综合一下.
string s1("waiting for love");
cout <<"原始长度 :"<< s1 <