effective stl 条款15 小心string实现的多样性

实际上每个string实现都容纳了下面的信息:
  ● 字符串的大小,也就是它包含的字符的数目。
  ● 容纳字符串字符的内存容量。(字符串大小和容量之间差别的回顾,参见条款14。)
  ● 这个字符串的值,也就是,构成这个字符串的字符

另外,一个string可能容纳
  ● 它的配置器的拷贝。对于为什么这个域是可选的解释,转向条款10并阅读关于这个古怪的管理分配器的规则。
依赖引用计数的string实现也包含了
  ● 这个值的引用计数

 

 

● string对象的大小可能从1到至少7倍char*指针的大小。
新字符串值的建立可能需要0、1或2次动态分配。
string对象可能是或可能不共享字符串的大小和容量信息。
string可能是或可能不支持每对象配置器。
不同实现对于最小化字符缓冲区的配置器有不同策略。

 

posted on 2017-08-02 17:04  123_123  阅读(220)  评论(0编辑  收藏  举报