2007年2月25日

千万注意,不要 hack std::string

摘要: 前段时间被一个bug折磨了两个星期,最后发现竟然是如此一个陷阱——我为了减少内存用量并且减少一次内存拷贝,直接通过string.data()修改了string的内部表示。这与其说是一个陷阱,不如说是我自己给自己造了一个陷阱然后把自己给掉进去了。发病机制可以用如下代码简单的勾画出来:using namespace std;int main(int argc, char* argv[]){ string str1 = "abcde"; string str2 = str1; strcpy(const_cast(str2.data()), "1234"); c 阅读全文

posted @ 2007-02-25 14:49 能发波 阅读(137) 评论(0) 推荐(0)

导航