【发布时间】:2008-10-09 22:58:08
【问题描述】:
对此的任何想法将不胜感激:
std::string s1 = "hello";
std::string s2 = std::string(s1);
我现在希望这两个字符串是独立的,即我可以将“, world”附加到 s2 并且 s1 仍然会读取“hello”。这是我在 windows 和 linux 上找到的,但是在 HP_UX 机器上运行代码似乎 s2 和 s1 是同一个字符串,所以修改 s2 会更改 s1。
这听起来很疯狂吗,有人见过类似的东西吗?
【问题讨论】:
-
你能发布一个很短的复制程序吗?我很难相信一些基本的东西会被破坏。
-
作为一个挑剔的选择,你的第二行可能只是 std::string s2(s1);没有理由创建额外的临时文件。