写时拷贝详见
标准C++类std::string的内存共享,值得体会:
详见大牛:标准C++类std::string的内存共享和Copy-On-Write技术
顾名思义,内存共享,就是两个乃至更多的对象,共同使用一块内存;
1.关于string的内存共享问题:
通常,string类中必有一个私有成员,其是一个char*,用户记录从堆上分配内存的地址,其在构造时分配内存,在析构时释放内存。
因为是从堆上分配内存,所以string类在维护这块内存上是格外小心的,string类在返回这块内存地址时,只返回const char*,也就是只读的,
如果你要写,也只能通过string提供的方法进行数据的改写。