源码看stl版本演进中string实现的变化——拷贝/移动的构造和赋值的实质动作和效率
C++标准库STL中的字符串string是基本类型，标准进化过程中对string的最终接口和行为方式有过变化和调整，主要的是C++11要求string不能使用COW(Copy on Write)机制。C++11前很多STL实现(以HP STL为基础衍生)使用的是引用计数支持的写时拷贝方式，即所谓COW，C++11后的基本使用独立堆空间读写各自内存。这个主要变化前后，string复制和构造的方式，执行过程中着重点，资源和效率都有不同，在源码实现分析下这些变化，可总结出使用string各程序环境的功能实施和效率影响。代码分析以g++采用的SGI STL为例，gcc支持C++11在版本4.8.5，不同的实现在这个版本前后。[...]