C++ string类的隐式共享写时拷贝的实现及设计要点
字符串一种在程序中经常要使用到的数据结构,然而在C中却没有字符串这种类型。在C++中,为了方便字符串的使用,在STL中提供了一个string类。该类维护一个char指针,并封装和提供各种的字符串操作。 一、为什么要实现隐式公享写时拷贝 试想一下,如果我们要自己实现一个string类,简单的方式是什么?是让每一个string类的实例维护一个在内存中独立的字符数组,每个string对象各不相干。这样一个对象的任何变化都不会影响到其他的对象。这样做的好处是处理简单,不易出错,但是这样做的缺点却是内存的使用量、程序的效率也低。 例如,对于如下的例子: int swap(stri
下载地址
用户评论