首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个简单又奇怪的有关问题!

2012-10-16 
一个简单又奇怪的问题!!!string s1(cba)string s2(s1)char *s const_castchar *(s2.c_str())s[0]

一个简单又奇怪的问题!!!
string s1("cba");  
string s2(s1);  
char *s = const_cast<char *>(s2.c_str());  
s[0] = 'f';  
cout << s1 << endl;
这个输出多少?

[解决办法]
g++ 4.4.3所用的标准库libstdc++使用了COW(写时复制)技术,所以楼主代码中s2.c_str()返回的仍是s1和s2共用缓冲区的地址。

热点排行