在C ++中建议进行字符串赋值是什么意思?

时间:2012-06-20 14:17:47

标签: c++ visual-c++

std::string s = t;

我想在此之后,s和t指向相同的地址。

删除t后,s也为空。如何制作深层照片?

2 个答案:

答案 0 :(得分:7)

免责声明:我假设t也是std::string,如果我错了,请纠正我。

  

我想在此之后,s和t指向地址。

他们没有,他们不是指针。

  

一旦t被删除,s也是空的

t无法删除,或者如果删除它,那就是你的问题。不要删除t,它会自动超出范围。

在您的代码中,您使用std::string的复制构造函数 - 顾名思义,它会创建原始字符串的副本。

答案 1 :(得分:1)

这是不正确的,它们是字符串的完全独立副本。当一个被删除时,另一个仍然存在。赋值运算符正是您应该如何复制它们的。