string
标准库类型string表示可变长的字符序列。
#include <string>
using std::string;
初始化string对象的方式
string s1 | 默认初始化,s1是空串 |
---|---|
string s2(s1) | s2是s1的副本(地址不同) |
string s2=s1 | 等价于s2(s1),s2是s1的副本 |
string s3("value") | s3是字面值“value”的副本,除了字面值最后的那个空字符外 |
string s3="value" | 等价于s3("value"),a3是字面值“value”的副本 |
string s4(n, ‘c’) | 初始化为由连续n个字符c组成的串 |
使用等号(=)初始化变量为拷贝初始化,编译器将等号右侧的初始值拷贝到新创建的对象。不使用等号是直接初始化。
string size()
size函数返回值为string::size_type类型。为无符号类型的值。因此需注意以下一种情况,当n为某个负数时:
s.size()<n
表达式几乎一定为真,因为负数会被自动转换为一个无符号数。
for循环时改变字符串内容
for(auto &c : s)
{
c = toupper(c);
}
不使用引用因为是副本,故只会修改临时变量。
下标运算符([])接收对应类型的size_type类型的值,参数为要访问的字符的位置,返回值是该位置上字符的引用。当对象不是常量时,可通过下标运算符给元素赋值。
文章评论