std::string引用计数引起的问题

linux下面的stl版本(或者说sgi版本)std::string,如果内存池相同的话,是引用计数的(大部分情况下是使用默认内存池,所以内存池肯定是一样的)。

std::string b = "aaa";

std::string a(b);

这样做会导致引用计数,即a b两个对象指向的实际是同一个内存块。

此时如若直接操作 a.c_str()或a.data()(当然平时很少这样,但我在程序中这么做了)。结果可想而知,呵呵。

打个标签,引以为戒。

posted @ 2010-05-10 11:43  飞天大蟾蜍  阅读(17)  评论(0编辑  收藏  举报