basic_string的基本格式:
其中cap和local_buf是在同一内存空间(使用union共享)
其中dataplus实际上就是个指针,指向实际存储字符的内存空间,length就是字符串长度,cap是当前分配出的空间大小,local_buf是一块0x10大小的本地空间
basic_string实际结构有两种情况:
使用的空间总是连续的,其迭代器满足 forward_iterator ,且相当于普通指针
forward_iterator
具体实现与vector相似