1. string的内存布局

x x x x x \0
begin
(指针迭代器)
end
(指针迭代器)
front
(引用)
back
(引用)

2. string的特点

  1. 自动维护生命周期和内存管理
  2. 支持拼接(+, +=)、查找(find, rfind)、读入(istream, getline)、数字(stoi系列, to_string)、转字符数组(c_str
  3. size()为O(1),而strlen()为O(n)

3. string的使用建议

  1. 不推荐使用const string&,因为:
  2. “xxxxx\0”的类型是const char *
  3. string产生的是堆上内存的分配
  4. 如果不需要个性字符串的内容, 使用string_view或者const char *.
  5. 函数返回修改过的入参,使用string作为返回类型
  6. 函数要修改调用者的字符串,使用string &作为参数类型

results matching ""

    No results matching ""