详见:http://support.microsoft.com/kb/813810/en-us
std::string的拷贝构造函数使用了引用计数,对于string a=b;string a(b)操作,两个对象共享同一个字符串buffer。
在多线程中,指向同一个buffer的多个string的引用计数有可能变得混乱,从而导致delete异常。
尤其是在.h中定义const string A = "XXXX", 如果多个对象都引用了A,则可能在多线程中出现问题。
详见:http://support.microsoft.com/kb/813810/en-us
std::string的拷贝构造函数使用了引用计数,对于string a=b;string a(b)操作,两个对象共享同一个字符串buffer。
在多线程中,指向同一个buffer的多个string的引用计数有可能变得混乱,从而导致delete异常。
尤其是在.h中定义const string A = "XXXX", 如果多个对象都引用了A,则可能在多线程中出现问题。